前言:
如今我们对“python中捕获异常”大概比较珍视,我们都想要了解一些“python中捕获异常”的相关文章。那么小编在网上搜集了一些有关“python中捕获异常””的相关知识,希望姐妹们能喜欢,同学们快快来学习一下吧!1 什么是异常
异常是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行,一般情况下,在Python无法正常处理程序时就会发生异常。Python脚本发生异常时,我们需要捕获并处理异常,否则程序会终止执行。
Python中重要的内建异常类型:
Exception:常规错误的基类AttributeError:对象没有这个属性IOError:输入/输出操作失败IndexError:序列中没有此索引KeyError:映射中没有这个键NameError:未声明/初始化对象(没有属性)SyntaxError:Python语法错误SystemError:一般解释器系统错误ValueError:串入无效的参数
2 捕获单个异常
在程序开发中,如果对某些代码的执行不能确定是否正确,可以增加try来捕获异常,捕获异常最简单的语法格式:
try:
<语句1> # 尝试执行的代码
except <异常类型1>:
<语句2> # 如果在try部分引发了异常
比如:
def exp_exception(x, y):
try:
a = x/y
print("a = ", a)
return a
except Exception:
print("程序出现异常,异常信息:被除数为0!")
print(exp_exception(6, 0))
3 捕捉多个异常
捕获异常最简单的语法格式:
try:
<语句1> # 尝试执行的代码
except <异常类型1>:
<语句2> # 如果在try部分引发了异常
except <异常类型2>:
<语句3> # 如果在try部分引发了异常
比如:
def mult_exception():
try:
# 提示用户输入一个整数
num = int(input("请输入一个整数:"))
result = 8/num
print(result)
except ZeroDivisionError:
print("除0错误!")
except ValueError:
print("请输入正确的整数!")
mult_exception()
4 块捕捉多个异常
指一个try对应一个except子句,同时捕捉一个以上的异常except(异常类型1,异常类型2,……)。比如:
def model_exception():
try:
b = name
a = x/y
except(ZeroDivisionError, NameError, TypeError):
print("z这个异常是ZeroDivisionError / NameError / TypeError")
model_exception(2, 0)
5 异常捕获的完整语法
在实际开发中,为了能够处理复杂的异常情况,完整的异常语法如下:
try:
<语句1> # 尝试执行的代码
except <异常类型1>:
<语句2> # 如果在try部分引发了异常
except <异常类型2,异常类型3>:
<语句3> # 如果在try部分引发了异常
except Exception as result:
print(“未知错误:%s” % result) # 打印错误信息
else:
<语句4> # 只有在没有异常才会执行的代码
finally:
<语句5> # 无论是否有异常,都会执行的代码
标签: #python中捕获异常