python之异常处理语句常用关键字有,python之异常处理语句是
Python的异常处理语句I,前言II,try…except语句III,try…except…else语句IV,try…except…finally语句V,使用raise语句抛出异常I,前言在程序开发中,有些错误并不是每次运行都出现。只要输入的数据符合程序的要求,程序就能正常运行;但是如果输入不符合程序的要求,就会抛出异常,停止运行。这时候就需要在开发程序的时候处理好可能出现的异常。下面将详细描述Python中提供的异常处理语句。
二。try…except语句在Python中,提供try…except语句是为了捕捉异常。使用时,将可能引起异常的代码放在try语句块中,将处理结果放在except语句块中,这样当try语句块中的代码出现错误时,except语句块中的代码就会被执行。如果try语句块中的代码没有报告错误,则except语句块将不会执行。具体语法格式如下:
尝试:
block1
except[异常名[asalia]]:参数描述:
1:表示可能发生错误的代码块1。异常名称[asalia]:可选参数,用于指定要捕获的异常。其中ExceptionName表示要捕获的异常的名称,如果在其右侧添加了“as alias”,则表示为当前异常指定一个别名,通过该别名可以记录异常的具体内容。注意:使用try…except语句捕获异常时,如果except后没有指定异常名,则意味着捕获了所有异常。
Block2:表示异常处理的代码块。这里可以输出固定的提示信息,也可以通过别名输出异常的具体内容。注意:使用try…except语句捕捉异常后,当程序出错时,输出错误信息后程序会继续执行。
例如,在除法运算期间,处理可能的异常,代码如下:
def分部():
1=num1=int(input(请输入被除数:)#用户输入提示并记录下来。
Num2=int(input(请输入除数:))
result=num1 //num2 #执行除法运算
打印(结果)
if __name__==__main__ :
Try: # catch异常
Division() #调用函数
异常zerodivisionerror: #处理异常
Print(输入错误:除数不能为0) #输出错误原因III。try…except…else语句在Python中,还有一种异常处理结构,就是try…except…else语句,即在原try…except语句中增加一个else语句,指定try语句模块中没有异常时要执行的语句块。当在try语句中发现异常时,将不执行该语句块中的内容。例如,在执行除法运算时,当division()函数执行而不抛出异常时,实现输出文本“程序执行完毕……”,代码如下:
def分部():
1=num1=int(input(请输入被除数:)#用户输入提示并记录下来。
Num2=int(input(请输入除数:))
result=num1 //num2 #执行除法运算
打印(结果)
if __name__==__main__ :
Try: # catch异常
Division() #调用函数
异常zerodivisionerror: #处理异常
print( \ n错误:除数不能为0) #输出错误原因
except value error as e:# handle value error异常
Print(输入错误,e) #输出错误原因
否则:
Print(程序执行完成…) #在没有异常的情况下执行上面的代码,会显示如下图所示:
四。try…except…finally语句一个完整的异常处理语句应该包含finally代码模块。通常,无论程序中是否有异常,finally代码块中的代码都会被执行。基本格式如下:
尝试:
block1
除了[ExceptionName [as alias]]:
block2
最后:对try…except…Finally语句的理解并不复杂,它只是比try…except语句多了一个finally代码。如果程序中有一些代码在任何情况下都必须执行,那么可以把它们放在finally语句的块中。
注意:except语句用于允许异常处理。无论是否抛出异常,都可以使用finally子句来执行。如果分配了有限的资源(比如打开一个文件),那么释放资源的代码应该放在finally语句的块中。
例如,在执行除法运算时,无论是否引发异常,在执行division()函数时都会输出“释放资源并关闭”一词。修改后的代码如下:
def分部():
1=num1=int(input(请输入被除数:)#用户输入提示并记录下来。
Num2=int(input(请输入除数:))
result=num1 //num2 #执行除法运算
打印(结果)
if __name__==__main__ :
Try: # catch异常
Division() #调用函数
异常zerodivisionerror: #处理异常
print( \ n错误:除数不能为0) #输出错误原因
except value error as e:# handle value error异常
Print(输入错误,e) #输出错误原因
否则:
Print(程序执行完成…) #无异常时执行
最后:#无论是否抛出异常都执行。
print( release resources and close )执行代码,如下图所示:
至此,终于推出了try…except、try…except…else、try…except…等异常处理语句的形式。下图说明了异常处理每一句的执行关系。
动词(verb的缩写)使用raise语句引发异常如果函数或方法可能会生成异常,但您不想在当前函数或方法中处理它,可以使用raise语句在函数或方法中引发异常。raise语句的基本格式如下:
Raise [ExceptionName[(reason)]]其中ExceptionName[(reason)]是可选参数,用于指定抛出的异常名称以及异常信息的相关描述。如果省略,当前信息的错误将被原样抛出。
注意:ExceptionName[(reason)]参数中的:(reason)也可以省略。如果省略,则在引发异常时不会附加任何描述信息。
例如,在执行除法运算时,在division()函数中实现。当除数为0时,将应用raise语句引发ValueError异常。接下来,在语句的最后一行下面添加一个except语句来处理ValueError异常。代码如下:
def分部():
1=num1=int(input(请输入被除数:)#用户输入提示并记录下来。
Num2=int(input(请输入除数:))
如果num2==0:
提升值错误(“除数不能为0”)
result=num1 //num2 #执行除法运算
打印(结果)
if __name__==__main__ :
Try: # catch异常
Division() #调用函数
异常zerodivisionerror: #处理异常
print( \ n错误:除数不能为0) #输出错误原因
except value error as e:# handle value error异常
Print(输入错误,e) #输出错误原因
否则:
Print(程序执行完成…) #无异常时执行
最后:#无论是否抛出异常都执行。
打印(“释放资源并关闭”)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。