Python异常处理try except else finally
抛出是用来移交控制权的机制,抛出异常也可以称作引发异常。抛出异常后,控制权会查找对应的捕获机制并做进一步处理。错误(Error)则常用来表示系统级错误或底层资源错误。在 Python 中,二者具有相同的处理机制。编程过程中,通常很难将所有的异常状况都处理得很好,通过异常捕获可以针对突发事件做集中处理,从而保证程序的稳定性和健壮性。
在 Python 中使用 try except else finally 语句检查可能发生异常的代码、捕获异常并做进一步处理,其语法如下:
try:
#尝试执行的代码
[except 错误类型1 :
#针对错误类型1,对应的代码处理]
[except 错误类型2 :
#针对错误类型2,对应的代码处理]
[except (错误类型3,错误类型4):
#针对错误类型3和4,对应的代码处理]
[except Exception as result:
#打印错误信息]
[else:
#没有异常才会执行的代码]
[finally:
#无论是否有异常,都会执行的代码]
例如以下代码尝试执行除法操作:
num = int(input( 请输入一个整数: )) result = 5 / num print(result) except ValueError: print( 请输入正确的整数 ) except ZeroDivisionError: print( 除 0 错误 ) except Exception as result: print( 未知错误 %s % result) else : print( 正常执行 ) finally: print( 执行完成 )
当用户输入 0 时,上述代码的运行结果如下所示:
try:
num = int(input( 请输入一个整数: ))
result = 5 / num
print(result)
except ValueError:
print( 请输入正确的整数 )
except ZeroDivisionError:
print( 除 0 错误 )
except Exception as result:
print( 未知错误 %s % result)
else :
print( 正常执行 )
finally:
print( 执行完成 )
请输入一个整数: 0
除 0 错误
执行完成
当用户输入字母 a 时,上述代码的运行结果如下所示:
try:
num = int(input( 请输入一个整数: ))
result = 5 / num
print(result)
except ValueError:
print( 请输入正确的整数 )
except ZeroDivisionError:
print( 除 0 错误 )
except Exception as result:
print( 未知错误 %s % result)
else :
print( 正常执行 )
finally:
print( 执行完成 )
请输入一个整数: a
请输入正确的整数
执行完成
可以看到,程序根据用户的不同输入执行了不同的异常处理分支代码块,并在最后执行了 finally 代码块。通常来说,当函数或方法执行出现异常时,异常将被传递给函数或方法的调用方,若逐级传递到主程序,仍然没有对应的异常处理代码块,程序才会最终被终止。因此可以在主函数中适当增加异常捕获代码。
除了代码执行自动抛出异常外,编程者还可以根据程序业务功能需求,人为地抛出异常,这种情况下可以使用 raise 语句,例如:
raise Exception except Exception: print( This is an Exception )
上述代码的运行结果如下所示:
try:
raise Exception
except Exception:
print( This is an Exception )
This is an Exception
23755.html
python数据结构相关文章
- python字符串转化列表_Python列表到字符串的转换[通俗易懂]
- python十进制转换_Python 进制转换
- python jieba库_Python jieba库的使用说明「建议收藏」
- 【说站】python异常处理关键字
- 【说站】python异常处理的流程
- 【说站】python异常时的语句处理
- 在python中,如果异常并未被处理或捕捉_抛出异常是什么意思
- python修改第三方库重写_对Python第三方库,再次封装
- 下列python语句的输出结果是print_下列 Python语句的输出结果是「建议收藏」
- Python基础(二十五):异常处理基础知识
- Python异常处理
- python 向上抛出异常
- python多进程编程-多进程编程中的异常处理(二)
- python-异常处理和错误调试-asyncio中的错误调试(三)
- python-异常处理和错误调试-异步IO程序的调试方法(一)
- python-异常处理和错误调试-异步IO程序的调试方法(三)
- python-Python与MySQL数据库-处理MySQL查询结果
- python-Python与SQLite数据库-SQLite数据库的基本知识(一)
- python-Python与SQLite数据库-处理SQLite查询结果(一)
- python-Python与SQLite数据库-处理SQLite查询结果(二)
- Python开发系列课程(13) – 文件和异常详解编程语言
- python的错误类型和异常处理详解编程语言
- Python异常处理机制的底层实现
- python学习Linux、Python,体验自由的乐趣(lexlinux)
- Python与MySQL实现数据分析的完美组合(mysql中python)
- Python中处理unchecked未捕获异常实例