1. python-异常处理
-
什么是异常?
顾名思义,异常就是程序因为某种原因无法正常工作了,比如缩进错误、缺少软件包、环境错误、连接超时等都会引发异常。
一个健壮的程序应该把所能预知的异常都应做相应的处理,保障程序长期运行。
-
捕获异常语法
-
语法格式
try: <代码块> except [异常类型]: <发生异常时执行的代码块>
-
注释:
如果在执行try 块里的业务逻辑代码时出现异常,系统会自动生成一个异常对象,该异常对象被提交给Python 解释器,这个过程被称为引发异常。
当Python 解释器收到异常对象时,会寻找能处理该异常对象的except 块,如果找到合适的except 块,则把该异常对象交给该except 块处理,这个过程被称为捕获异常。如果Python 解释器找不到捕获异常的except 块,则运行时环境终止,Python 解释器也将退出。
-
-
常见异常类型
异常类型 用途 SyntaxError 语法错误 IndentationError 缩进错误 TypeError 对象类型与要求不符合 ImportError 模块或包导入错误;一般路径或名称错误 KeyError 字典里面不存在的键 NameError 变量不存在 IndexError 下标超出序列范围 IOError 输入/输出异常;一般是无法打开文件 AttributeError 对象里没有属性 KeyboardInterrupt 键盘接受到Ctrl+C Exception 通用的异常类型;一般会捕捉所有异常 UnicodeEncodeError 编码错误 -
异常处理
-
示例1:打印一个没有定义的变量
try: print(name) except NameError: print("发生名称错误时,执行的代码")
-
示例2:当不确定异常类型时,可以使用通用异常类型
try: print(name) except Exception: print("发生名称错误时,执行的代码")
-
示例3:保存异常信息
try: print(name) except Exception as e: print("错误:%s" %e) print("发生名称错误时,执行的代码")
-
2. 案例
- 示例1、打印一个没有定义的变量
try:
print(n)
except NameError:
print("发生名称错误时,执行的代码")
-
案例2、打印一个当不确定异常类型时,可以使用通用异常类型
try: print(name) except Exception: print("发生名称错误时,执行的代码")
-
案例3、保存异常信息
try: print(name) except Exception as e: print("错误:%s" %e) print("发生名称错误时,执行的代码")