一. python错误处理,,一. 错误处理异常处
一. python错误处理,,一. 错误处理异常处
一. 错误处理
异常处理捕捉异常可以使用try/except语句。try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果你不想在异常发生时结束你的程序,只需在try里捕获它。
格式:try : 语句1except 错误代码 as e: 语句2except 错误代码 as e: 语句3......except 错误代码 as e: 语句nelse: 语句e
注意 else 可有可无作用: 用来检测try 语句块的错误 从而让except语句捕获异常信息并处理逻辑: 当程序执行到try ---except --else 语句时1 如果try 语句1 执行出现错误 会匹配第一个错误码 如果匹配上就执行 语句2 如果当try 语句1 执行出现错误 没有匹配的异常 错误将会 被提交到上一层的try 语句 或者到程序的最上一层3 如果当try 语句1 执行没有出现错误 执行else 下的语句e
try: print(3/1)except NameError as e: print("没有改变量")except ZeroDivisionError as e: print("除数为0")else: print("代码没有问题了")print(".....................................")# 使用except 而不使用 任何的错误类型try: print(4/0) print(num)except: print("程序出现了异常")# 使用except带有多种异常try: print(5/0)except(NameError,ZeroDivisionError)print("出现了NameError或‘ZeroDivisionError")
以上例子不管 try 子句里面有没有发生异常,finally 子句都会执行。如果一个异常在 try 子句里(或者在 except 和 else 子句里)被抛出,而又没有任何的 except 把它截住,那么这个异常会在 finally 子句执行后再次被抛出。下面是一个更加复杂的例子(在同一个 try 语句里包含 except 和 finally 子句):格式:try : 语句1except 错误代码 as e: 语句2except 错误代码 as e: 语句3......except 错误代码 as e: 语句nfinally: 语句f 作用 :语句t无论是否有错误 都讲执行最后的语句ftry: print(1/0)finally: print("必须执行我")
# Exception 万能异常处理try: print("1") 1/0 name 2+‘3‘ [][‘K‘]except Exception: print("错了")
异常名称 描述BaseException 所有异常的基类SystemExit 解释器请求退出KeyboardInterrupt 用户中断执行(通常是输入^C)Exception 常规错误的基类StopIteration 迭代器没有更多的值GeneratorExit 生成器(generator)发生异常来通知退出StandardError 所有的内建标准异常的基类ArithmeticError 所有数值计算错误的基类FloatingPointError 浮点计算错误OverflowError 数值运算超出最大限制ZeroDivisionError 除(或取模)零 (所有数据类型)AssertionError 断言语句失败AttributeError 对象没有这个属性EOFError 没有内建输入,到达EOF 标记EnvironmentError 操作系统错误的基类IOError 输入/输出操作失败OSError 操作系统错误WindowsError 系统调用失败ImportError 导入模块/对象失败LookupError 无效数据查询的基类IndexError 序列中没有此索引(index)KeyError 映射中没有这个键MemoryError 内存溢出错误(对于Python 解释器不是致命的)NameError 未声明/初始化对象 (没有属性)UnboundLocalError 访问未初始化的本地变量ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象RuntimeError 一般的运行时错误NotImplementedError 尚未实现的方法SyntaxError Python 语法错误IndentationError 缩进错误TabError Tab 和空格混用SystemError 一般的解释器系统错误TypeError 对类型无效的操作ValueError 传入无效的参数UnicodeError Unicode 相关的错误UnicodeDecodeError Unicode 解码时的错误UnicodeEncodeError Unicode 编码时错误UnicodeTranslateError Unicode 转换时错误Warning 警告的基类DeprecationWarning 关于被弃用的特征的警告FutureWarning 关于构造将来语义会有改变的警告OverflowWarning 旧的关于自动提升为长整型(long)的警告PendingDeprecationWarning 关于特性将会被废弃的警告RuntimeWarning 可疑的运行时行为(runtime behavior)的警告SyntaxWarning 可疑的语法的警告UserWarning 用户代码生成的警告
""try: print(3/1)except NameError as e: print("没有改变量")except ZeroDivisionError as e: print("除数为0")else: print("代码没有问题了")print(".....................................")# 使用except 而不使用 任何的错误类型try: print(4/0) print(num)except: print("程序出现了异常")# 使用except带有多种异常try: print(5/0)except(NameError,ZeroDivisionError): print("出现了NameError或‘ZeroDivisionError")
一. python错误处理
相关内容
- python"TypeError: 'NoneType' object is not i
- 刷题记录:[SUCTF 2019]Pythonginx,, 目录
- python爬虫所遇问题列举,,1、通过python
- Python迭代器,,一、可迭代的对象、迭
- Python 波浪线与补码,,分享一下我老师大神的
- 通过python实现wc基本功能,,---恢复内容开始-
- Python 代码混淆和不可告人的加密技术!,,Python进行商
- 21.python的模块(Module)和包(Package),, 目录
- Python版本的谷歌S2空间索引算法,索引的算法,参考htt
- Python-jQuery,Python,1. jQuery是
评论关闭