异常基本使用
异常捕获
python代码中常会爆出异常如下代码
a = 10 / 0 # ZeroDivisionError: division by zero
这时编辑器会爆出红色错误,很不友好,我们可以使用try-except来捕获
try:
a = 10 / 0
except:
print("出错了!") # 出错了!
异常单独捕获并展示错误信息
上方我们发现没有报红,但也没有错误信息了,如果我们想展示错误信息我们可以这样写.
try:
a = 10 / 0
except ZeroDivisionError as zde:
print("出错了!")
print(zde) # division by zero
这样我们就可以捕获 ZeroDivisionError
这个异常了。
捕获多个异常
如果有多个异常怎么办,我们可以用元组将异常包起来就可以一起捕获
try:
a = 10 / 0
except ZeroDivisionError as zde:
print("出错了!")
print(zde) # division by zero
这样我们就可以捕获 ZeroDivisionError
这个异常了。
如下异常,TypeError
try:
a = 10 / 2
c = 10 + "123" # TypeError: unsupported operand type(s) for +: 'int' and 'str'
except ZeroDivisionError as zde:
print("出错了!")
print(zde) # division by zero
我们可以这样捕获
try:
a = 10 / 2
c = 10 + "123"
except (ZeroDivisionError, TypeError) as e:
print("出错了!")
print(e) # unsupported operand type(s) for +: 'int' and 'str'
也可以这样捕获
try:
a = 10 / 2
c = 10 + "123"
except ZeroDivisionError as e:
print("ZeroDivisionError")
print(e) # unsupported operand type(s) for +: 'int' and 'str'
except TypeError as e:
print("TypeError")
print(e)
也可以捕获所有类型的异常
try:
a = 10 / 2
c = 10 + "123"
except Exception as e:
print("出错了")
print(e)