异常处理
- 语法错误
- 无法通过异常处理解决
- 因为语法错误程序无法运行代码不执行
- 逻辑错误
- 数学逻辑出错
1/0
- 字典索引错误
- 列表索引错误等
- 数学逻辑出错
- 程序一但发生错误,就会停止运行
- 异常处理就是忽略这些逻辑上的错误,然后返回一个理想上的结果
异常处理语句
-
except
支持多分枝 -
except
后面的错误类型可以不写try: '''需要测试的代码块''' except 错误类型[可选]: '''错误后返回的代码块''' except 错误类型[可选]:
-
else
没有异常的情况下执行else后的代码块try: '''需要测试的代码块''' except 错误类型[可选]: '''错误后返回的代码块''' else: '''try中没有错误就会执行这里'''
-
finally
有没有错误最后都会执行-
比如文件的关闭最后都要执行
try: '''需要测试的代码块''' except 错误类型[可选]: '''错误后返回的代码块''' else: '''try中没有错误就会执行这里''' finally: '''不管有没有异常都会执行的代码块'''
-
-
函数中
return
和finally
-
有
return
也会继续执行finally
中的代码块 -
有
return
不会继续执行else
中的代码块def func(): try: print('测试') return except Exception: print('错了') else: print('完全ojbk') finally: print('测试执行') #调用 func() #结果 测试 测试执行
-
-
except Exception
处理万能异常-
except Exception as error_name
提供的报错机制def func(): try: ss #提供一个错误的信息 print('测试') return except Exception as error: print('错了', error) else: print('完全ojbk') #调用 func() #结果 错了 name 'ss' is not defined
-