Python—错误与异常处理笔记(附类型表)

本文详细讲解了Python中的异常处理机制,包括try...except语句、不同结构的异常处理(except...else, except...finally)、嵌套try语句以及如何自定义异常。通过实例演示和内置异常类型表格,帮助读者理解如何优雅地处理程序中的错误。
摘要由CSDN通过智能技术生成

目录

一、语法格式 

01、try ... except 语句

示例1:捕获ZeroDivisionError异常

示例2:捕获所有类型的异常

02、try ... except ... else语句

 示例

03、try ... except ... finally语句

示例:

04、try嵌套

05、自定义异常

二、Python内置异常类型表格 


一、语法格式 

try:

        可能出现错误的代码块

except:

         出错之后执行的代码块

else:

         没有出错的代码块

finally:

         不管有没有出错都执行的代码块


 

01、try ... except 语句

  •         将可能出错的代码放到try里面,except可以指定类型捕获异常。except里面的代码是捕获到异常时执行,将错误捕获,这样程序就不会因为一段代码包异常而导致整个程序崩溃。
  • 示例1:捕获ZeroDivisionError异常


 

  • 示例2:捕获所有类型的异常


 

02、try ... except ... else语句

  • 没有捕获到异常时才执行else语句
  •  示例


 

03、try ... except ... finally语句

  • 示例:


 

04、try嵌套


 

05、自定义异常

  • 自定义异常,都要直接或间接继承Error或Exception类。
  • 由开发者主动抛出自定义异常,在python中使用raise关键字


 

二、Python内置异常类型表格 

Python内置异常类型
异常导致的错误
AssertionError    当assert语句失败时引发
AttributeError    当属性分配或引用失败时引发
EOFError    当input()函数达到文件结束条件时引发
FloatingPointError    当浮点运算失败时引发
GeneratorExit    调用生成器的close()方法时引发
ImportError    找不到导入的模块时引发
IndexError    当序列的索引超出范围时引发
KeyError    在字典中找不到键时引发
KeyboardInterrupt    当用户按下中断键(Ctrl+c或delete)时引发
MemoryError    当操作耗尽内存时引发
NameError    在局部或全局范围内找不到变量时引发
NotImplementedError    由抽象方法提出
OSError    当系统操作导致系统相关错误时引发
OverflowError    当算术运算的结果太大而无法表示时引发
ReferenceError    使用弱引用代理访问垃圾收集的引用时引发
RuntimeError    当错误不属于任何其他类别时引发
StopIteration    函数引发,以指示迭代器不再返回任何项
SyntaxError    遇到语法错误时由解析器引发
IndentationError    当缩进不正确时引发
TabError    当缩进由不一致的制表符和空格组成时引发
SystemError    当解释器检测到内部错误时引发
SystemExit    由sys.exit()函数引发
TypeError    将函数或操作应用于类型不正确的对象时引发
UnboundLocalError    当在函数或方法中引用局部变量,但没有将值绑定到该变量时引发
UnicodeError    当发生与unicode相关的编码或解码错误时引发
UnicodeEncodeError    当编码过程中发生与unicode相关的错误时引发
UnicodeDecodeError    当解码过程中出现与unicode相关的错误时引发
UnicodeTranslateError    翻译过程中发生与unicode相关的错误时引发
ValueError    当函数得到类型正确但值不正确的参数时引发
ZeroDivisionError    当除法或模运算的第二个操作数为零时引发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值