哈哈哈
作为一个码农, 每天都在写代码, 不可避免的会出现错误, 也有一些时候, 知道可能会出现错误, 必须要在代码中处理, 以免影响代码正常流程, 这篇讲一下常见的异常错误, 以及如何处理异常
常见异常
异常处理
格式:
try:
# 代码块, 没有异常正常完成
except 异常类型1:
# try代码块捕捉到异常类型1, 自定义处理后续流程
except 异常类型2 as e2:
# try代码块捕捉到异常类型1, 自定义处理后续流程
# 将异常赋值给e2
except (异常类型3, 异常类型4...)
# try代码块捕捉到异常类型3或4, 自定义处理后续流程
excpet Exception:
# 尝试捕捉任何错误, 自定义处理后续流程
else:
# try代码块中, 如果没有出现任何异常,将会执行此处代码
finally:
# 任何情况都会执行的代码块, 无论有没有报错
多说无用, 写个小例子
# -*- coding: utf-8 -*-
# @Author: Mehaei
# @Date: 2023-08-06 21:01:36
# @Last Modified by: Mehaei
# @Last Modified time: 2023-08-06 21:36:51
# 自定义的异常类
class UnknownError(Exception):
pass
# 小例子
try:
raise UnknownError
print(1/0)
except ZeroDivisionError:
print("除数为0, 请检查代码")
except UnknownError:
print("自定义的异常, 不知道什么错误")
# 使用as语句, 将错误赋值给变量e
except Exception as e:
print(f"不知道什么错误: {e}")
else:
print("代码块没有异常")
finally:
print("不管有没有异常, 我都会执行")
输出:
自定义的异常, 不知道什么错误
不管有没有异常, 我都会执行
[Finished in 0.1s]
这篇完了
代码异常处理还有个典型的应用就是给代码块加个装饰器, 用来重试代码块或函数, 下篇讲装饰器