内置异常
内置异常 python3.8 官网 (opens new window)
# 内置异常用法
# 所有异常必须为一个派生自 BaseException 的类的实例
# 在带有提及一个特定类的 except 子句的 try 语句中,该子句也会处理任何派生自该类的异常类(但不处理 它 所派生出的异常类)。
# 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称。
# 当引发一个新的异常(而不是简单地使用 raise 来重新引发 当前在处理的异常)时,隐式的异常上下文可以通过使用带有 raise 的 from 子句来补充一个显式的原因:
# raise new_exc from original_exc
# 跟在 from 之后一表达式必须为一个异常或 None
# 下列异常主要被用作其他异常的基类
# BaseException ,所有内置异常的基类
# Exception ,所有内置的非系统退出类异常都派生自此类。 所有用户自定义异常也应当派生自此类
# ArithmeticError ,此基类用于派生针对各种算术类错误而引发的内置异常: OverflowError, ZeroDivisionError, FloatingPointError
# BufferError ,当与 缓冲区 相关的操作无法执行时将被引发
# LookupError ,此基类用于派生当映射或序列所使用的键或索引无效时引发的异常: IndexError, KeyError。 这可以通过 codecs.lookup() 来直接引发
# 具体异常 可以参考文档查看常见异常
class MyError(Exception):
def __str__(self):
return '自定义Error'
try:
raise MyError()
except MyError as e:
print(e)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
上次更新: 2023/09/04, 18:39:45