当前位置: 首页 > 后端技术 > Python

大话Python:夯实Python基础——异常处理

时间:2023-03-25 21:09:37 Python

通常情况下,当程序无法处理正常的逻辑执行过程时,就会出现异常。为了处理程序运行过程中的异常和错误,python还定义了很多标准的异常和异常处理机制来处理程序运行过程中出现的异常。在python语言中,处理异常的关键字主要有:try、except、else、finally和raise关键字。try关键字:主要是检测异常,如果出现异常情况,程序处理就会交给except关键字。except关键字:获取异常并处理。else关键字:执行完try关键字字段中的代码块后,如果没有发现异常,则执行else关键字代码块中的内容。finally关键字:无论是否发生异常,都进入该关键字的域进行处理。通常,它主要处理资源关闭、对象内存释放等必要的操作。raise关键字:用于抛出自定义的异常信息,使程序无法直接执行。异常关键字通常以多种组合方式使用,不同的组合可以完成不同的异常处理场景。合理的异常处理不仅可以改善程序执行过程中的逻辑操作,还可以提高程序执行的性能。try...except...else组合异常处理1try:2print"正常处理逻辑"3exceptException,e:4print"异常处理逻辑"5else:6print"执行完成,未发现异常"1try:2print"Normalprocessinglogic"3except:4print"Exceptionhandlinglogic"5else:6print"Executioncompleted,noexceptionfound"处理异常时,第一个处理方法后面跟except关键字没有具体的异常第二种情况下的对象。如果按照第二种情况没有添加异常对象,则表示所有的异常都被捕获并处理了。缺点是不能输出具体的异常信息。1try:2打印“正常处理逻辑”3除WindowsError,e1:4打印“异常信息:”,e1.message5打印“异常逻辑处理”6除ImportError,e2:7打印“异常信息:”,e2.message8print"Exceptionlogicprocessing"这是一个多异常处理组合,通过连接多个except关键字,捕获不同的异常,执行异常处理程序逻辑。try...finally结合异常处理1try:2打印“正常逻辑处理”3finally:4打印“释放资源”执行正常的程序逻辑,无论try的代码块是否检测到异常信息,finally代码块必须在里面执行程序逻辑。try...except...finally合并异常处理1try:2打印“正常逻辑处理”3try:4打印“正常逻辑处理”5finally:6打印“执行程序逻辑”7exceptException,e:8打印"Anexceptionoccurred:",e.message9print"Exceptionhandlinglogic"在很多编程语言中也提供了可以自定义异常的操作,python也有自己的方式来自定义异常并使用。使用的思路大致相同,都是继承标准异常封装到自己的异常对象中,然后在适当的处理逻辑中抛出自定义异常。定义自定义异常1classCustomException(Exception):2def__init__(self,err):3self.args=err使用自定义异常1a=int(raw_input())2ifa<0:3raiseCustomException("typeInputerror")4else:5print《正态逻辑》更多精彩进微信公众号【Python集中营】,专注后端编程实战,原创文章每天更新!