当前位置: 首页 > news >正文

网站进入百度观察期湘潭网站建设有名磐石网络

网站进入百度观察期,湘潭网站建设有名磐石网络,大丰专业做网站,seo研究中心超逸seopython异常类型及其类型处理 文章目录 python异常类型及其类型处理前言一、异常的概念二、异常类型1.捕获异常方法2.主动抛出异常 总结 前言 我们在日常学习中或者在开发一个项目时,一定会出现的问题就是报错,今天我们就学习错误类型的种类以及错误类型的处理方法 一、异常的概…

python异常类型及其类型处理

文章目录

  • python异常类型及其类型处理
  • 前言
  • 一、异常的概念
  • 二、异常类型
    • 1.捕获异常方法
    • 2.主动抛出异常
  • 总结


前言

我们在日常学习中或者在开发一个项目时,一定会出现的问题就是报错,今天我们就学习错误类型的种类以及错误类型的处理方法


一、异常的概念

当我们在编写程序的时候,python解释器遇到错误的时候会停止程序运行,然后返回错误的信息,这就是出现异常的行为.
程序停止运行后提示错误信息后,我们称这个行为为抛出异常.

二、异常类型

在python中异常分为,python内置异常,模块内部异常,以及自定义抛出异常

以下是python中内置异常

	BaseException  # 所有异常的基类
+-- SystemExit  # 解释器请求退出
+-- KeyboardInterrupt  # 用户中断执行(通常是输入^C)+-- GeneratorExit  # 生成器(generator)发生异常来通知退出+-- Exception  # 常规异常的基类+-- StopIteration  # 迭代器没有更多的值+-- StopAsyncIteration  # 必须通过异步迭代器对象的__anext__()方法引发以停止迭代+-- ArithmeticError  # 各种算术错误引发的内置异常的基类|    +-- FloatingPointError  # 浮点计算错误|    +-- OverflowError  # 数值运算结果太大无法表示|    +-- ZeroDivisionError  # 除(或取模)零 (所有数据类型)+-- AssertionError  # 当assert语句失败时引发+-- AttributeError  # 属性引用或赋值失败+-- BufferError  # 无法执行与缓冲区相关的操作时引发+-- EOFError  # 当input()函数在没有读取任何数据的情况下达到文件结束条件(EOF)时引发+-- ImportError  # 导入模块/对象失败|    +-- ModuleNotFoundError  # 无法找到模块或在在sys.modules中找到None+-- LookupError  # 映射或序列上使用的键或索引无效时引发的异常的基类|    +-- IndexError  # 序列中没有此索引(index)|    +-- KeyError  # 映射中没有这个键+-- MemoryError  # 内存溢出错误(对于Python 解释器不是致命的)+-- NameError  # 未声明/初始化对象 (没有属性)|    +-- UnboundLocalError  # 访问未初始化的本地变量+-- OSError  # 操作系统错误,EnvironmentError,IOError,WindowsError,socket.error,select.error和mmap.error已合并到OSError中,构造函数可能返回子类|    +-- BlockingIOError  # 操作将阻塞对象(e.g. socket)设置为非阻塞操作|    +-- ChildProcessError  # 在子进程上的操作失败|    +-- ConnectionError  # 与连接相关的异常的基类|    |    +-- BrokenPipeError  # 另一端关闭时尝试写入管道或试图在已关闭写入的套接字上写入|    |    +-- ConnectionAbortedError  # 连接尝试被对等方中止|    |    +-- ConnectionRefusedError  # 连接尝试被对等方拒绝|    |    +-- ConnectionResetError    # 连接由对等方重置|    +-- FileExistsError  # 创建已存在的文件或目录|    +-- FileNotFoundError  # 请求不存在的文件或目录|    +-- InterruptedError  # 系统调用被输入信号中断|    +-- IsADirectoryError  # 在目录上请求文件操作(例如 os.remove())|    +-- NotADirectoryError  # 在不是目录的事物上请求目录操作(例如 os.listdir())|    +-- PermissionError  # 尝试在没有足够访问权限的情况下运行操作|    +-- ProcessLookupError  # 给定进程不存在|    +-- TimeoutError  # 系统函数在系统级别超时+-- ReferenceError  # weakref.proxy()函数创建的弱引用试图访问已经垃圾回收了的对象+-- RuntimeError  # 在检测到不属于任何其他类别的错误时触发|    +-- NotImplementedError  # 在用户定义的基类中,抽象方法要求派生类重写该方法或者正在开发的类指示仍然需要添加实际实现|    +-- RecursionError  # 解释器检测到超出最大递归深度+-- SyntaxError  # Python 语法错误|    +-- IndentationError  # 缩进错误|         +-- TabError  # Tab和空格混用+-- SystemError  # 解释器发现内部错误+-- TypeError  # 操作或函数应用于不适当类型的对象+-- ValueError  # 操作或函数接收到具有正确类型但值不合适的参数|    +-- UnicodeError  # 发生与Unicode相关的编码或解码错误|         +-- UnicodeDecodeError  # Unicode解码错误|         +-- UnicodeEncodeError  # Unicode编码错误|         +-- UnicodeTranslateError  # Unicode转码错误+-- Warning  # 警告的基类+-- DeprecationWarning  # 有关已弃用功能的警告的基类+-- PendingDeprecationWarning  # 有关不推荐使用功能的警告的基类+-- RuntimeWarning  # 有关可疑的运行时行为的警告的基类+-- SyntaxWarning  # 关于可疑语法警告的基类+-- UserWarning  # 用户代码生成警告的基类+-- FutureWarning  # 有关已弃用功能的警告的基类+-- ImportWarning  # 关于模块导入时可能出错的警告的基类+-- UnicodeWarning  # 与Unicode相关的警告的基类+-- BytesWarning  # 与bytes和bytearray相关的警告的基类+-- ResourceWarning  # 与资源使用相关的警告的基类。被默认警告过滤器忽略。

还有requests 模块内置异常

requests模块中包含以下内置的异常类:

1. requests.RequestException:所有requests模块中的异常的基类。2. requests.HTTPError:HTTP错误异常,继承自requests.RequestException。当HTTP请求返回的状态码不是200时,会引发这个异常。3. requests.ConnectionError:连接错误异常,继承自requests.RequestException。当请求url时出现网络问题时,会引发这个异常。4. requests.Timeout:超时异常,继承自requests.RequestException。当请求超时时,会引发这个异常。5. requests.TooManyRedirects:重定向次数过多异常,继承自requests.RequestException。当重定向次数超过设定的最大次数时,会引发这个异常。6. requests.SSLError:SSL证书验证错误异常,继承自requests.RequestException。当请求url时SSL证书验证失败时,会引发这个异常。这些异常类在requests模块中经常被用来捕获和处理请求过程中可能发生的异常情况。

1.捕获异常方法

try:# 可能引发异常的代码
except 异常类型1:# 处理异常的代码
except 异常类型2:# 处理异常的代码finally:无论出不出现异常都会执行的代码
...

例如:

try:num = int(input("请输入整数:"))result = 8 / numprint(result)
except ValueError:print("请输入正确的整数")
except ZeroDivisionError:print("除 0 错误")
except Exception as result:print("未知错误 %s" % result)
else:print("正常执行")
finally:print("执行完成,但是不保证正确")

我们如果不知道 会出现什么错误类型,我们可以python中Exception异常类
然后输出异常结果.

except Exception as result:print("未知错误 %s" % result)

2.主动抛出异常

我们可以用raise 异常信息来进行抛出异常,在try 中函数就会抛出’除数不能为零’的异常.

def divide(x, y):if y == 0:raise ZeroDivisionError("除数不能为零")return x / ytry:result = divide(10, 0)
except ZeroDivisionError as e:print(e)

当我们学习raise主动抛出异常后我们可以 在合适的时候,主动抛出异常,以满足要求.

示例:

def input_password():# 1. 提示用户输入密码pwd = input("请输入密码:")# 2. 判断密码长度,如果长度 >= 8,返回用户输入的密码if len(pwd) >= 8:return pwd# 3. 密码长度不够,需要抛出异常# 1> 创建异常对象 - 使用异常的错误信息字符串作为参数ex = Exception("密码长度不够")# 2> 抛出异常对象raise extry:user_pwd = input_password()print(user_pwd)
except Exception as result:print("发现错误:%s" % result)

总结

这里面部分示例取自于这位大佬的文章

仅进行学习和参考.

今天我们学习了在python中的异常处理,以及主动抛出异常,希望大家多多练习.

讲的不好,多多见谅,我们下次再见!

更多优质文章点这里

http://www.yayakq.cn/news/234759/

相关文章:

  • 做网站需要什么书农村电商平台简介
  • 网站正在建设中提示页面免费茶叶网站建设
  • 多国语言网站模板网页设计与制作教材电子版
  • 上海建站做网站的成本是什么
  • 电子商务网站建设实训步骤招聘系统推广哪家好
  • 企业网站建设 法规wordpress 鼠标经过
  • 烈士陵园网站建设方案百度文库上海网站建设,分类广告
  • 聊城专业建网站价格重庆市建设工程施工安全网
  • 国外自建站好做吗电子商务网站 费用
  • 做饲料机的川工网站ucenter整合wordpress
  • 彩票站自己做网站吗做购物网站的业务
  • 网站支持ipv6怎么做网站开发无锡
  • 南京那些公司做网站网站开发是分为前端和后端吗
  • 协会工作方案网站建设困难flash网站模板修改
  • 苏州做网站优化的公司阿里云怎么做网站
  • 网站建设合同中英文模板广州网站定做教程
  • 做旅游宣传不错的网站重庆网站定制公司
  • 衡阳seo优化服务企业网站seo外包
  • 如何制作公司网站淄博市网站云平台
  • 网站建设及维护 东营网站开发制作公
  • 企业门户网站作用河南省内 在哪个网站做商检表
  • 重庆网站优化seo公司the word 和 wordpress
  • 建什么类型的网站访问量比较大网页版微信小程序
  • wordpress汉化服务沈阳百度seo关键词排名优化软件
  • 开发网站的基本流程五个阶段网络工程就业方向及就业前景
  • 开做网站的公司 条件中企动力官网邮箱
  • 网站盈利模式设计软件系统开发报价表
  • 中安消防安全网站建设网络运维工程师教程
  • 济南环保行业网站开发宏基陆通工程建设有限公司网站
  • 网站权重划分专业的企业进销存软件厂家价格