10exception

本文最后更新于 2022-05-26 11:25:30

exception

1
2
3
4
5
6
7
8
9
10
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
finally:
<语句> #最终会执行

simple

1
2
3
4
try:
print(1/0)
except ZeroDivisionError:
print("不能除0")

多except

1
2
3
4
5
6
try:
print(1 / 0)
except ZeroDivisionError:
print(11111)
except ValueError:
print(222222)

不带任何异常类型

1
2
3
4
5
# 捕获所有发生的异常
try:
print(1/0)
except:
print("不能除0")

带else

1
2
3
4
5
6
7
# 没有发送异常就会执行 else
try:
pass
except ZeroDivisionError:
print(1)
else:
print("else")

带finally

1
2
3
4
5
6
7
8
9
# 不管有没有异常都会执行finally
try:
pass
except ZeroDivisionError:
print(1)
else:
print("else")
finally:
print("final")

带参数

1
2
3
4
5
6
7
8
9
10
11
try:
print(1 / 0)
except ZeroDivisionError as e:
print(e)


# 在python2中用 ,
try:
print(1 / 0)
except ZeroDivisionError , e:
print(e)

注意点

image-20201028145723941

image-20201028145731366

抛出异常

1
2
3
4
def functionName( level ):
if level < 1:
raise Exception("Invalid level!", level)
# 触发异常后,后面的代码就不会再执行

自定义异常

1
2
3
class Networkerror(RuntimeError):
def __init__(self, arg):
self.args = arg

10exception
https://jiajun.xyz/2020/10/29/python/01base/10exception/
作者
Lambda
发布于
2020年10月29日
更新于
2022年5月26日
许可协议