qinkwl

覃空万里

导航

异常

异常机制是一种在程序运行过程中处理错误和异常情况的机制。当程序执行过程中发生异常时,会中断正常的执行流程,并转而执行异常处理的代码。这可以帮助我们优雅地处理错误,保证程序的稳定性和可靠性。

Error类型

  1. SyntaxError`:语法错误,通常是由于代码书写不正确而引发的异常。
  2. NameError:名称错误,当尝试访问一个未定义的变量或名称时引发的异常。
  3. IndexError:索引错误,当访问列表、元组或字符串等序列类型时使用了无效的索引引发的异常。
  4. KeyError:键错误,当尝试使用字典中不存在的键引发的异常。
  5. ValueError:值错误,当函数接收到一个正确类型但是不合法的值时引发的异常。
  6. FileNotFoundError:文件未找到错误,当尝试打开或操作不存在的文件时引发的异常。
  7. ImportError:导入错误,当导入模块失败时引发的异常,可能是因为找不到模块或模块中缺少所需的内容。
  8. ZeroDivisionError:零除错误,当除法或取模运算的除数为零时引发的异常。
  9. AttributeError:属性错误,当尝试访问对象不存在的属性或方法时引发的异常。
  10. IOError:输入/输出错误,当发生与输入和输出操作相关的错误时引发的异常。例如,尝试读取不存在的文件或在写入文件时磁盘已满。

基本语法

异常的基本结构:try except

# (1) 通用异常
try:
    pass  # 正常执行语句
except Exception as ex:
    pass  # 异常处理语句

# (2) 指定异常
try:
     pass  # 正常执行语句
except <异常名>:
     pass  # 异常处理语句
        
# (3) 统一处理多个异常
try:
     pass  # 正常执行语句
except (<异常名1>, <异常名2>, ...):
      pass  # 异常处理语句
    
# (4) 分别处理不同的异常 
try:
     pass  # 正常执行语句
except <异常名1>:
      pass  # 异常处理语句1
except <异常名2>:
      pass  # 异常处理语句2
except <异常名3>:
      pass  # 异常处理语句3
  
# (5) 完整语法   
try:
    pass  # 正常执行语句
except Exception as e:
    pass  # 异常处理语句
else:
    pass # 测试代码没有发生异常 
finally:
    pass  # 无论是否发生异常一定要执行的语句,比如关闭文件,数据库或者socket

机制说明:

  • 首先,执行try子句(在关键字try和关键字except之间的语句)
  • 如果没有异常发生,忽略except子句,try子句执行后结束。
  • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常那么对应的except子句将被执行。
  • 在Python的异常中,有一个通用异常:Exception,它可以捕获任意异常。

posted on 2024-12-30 23:51  覃空万里  阅读(15)  评论(0)    收藏  举报