Python中的try...except...异常处理

Python中的try...except...异常处理

在各种编程语言进行工作和学习的过程中,都会有一些错误异常,这些错误则以不同的方式去展现出来,但是也有一些编程语言的错误信息无法直接看到,比如htmlcss,只能通过页面显示的最终结果来判断是否有错误。Python的错误异常在大部分IDE编辑器中则可以直接显示出来,便于开发人员的调试及修改工作,对初学者也比较友好。

Python中包含错误和异常两种情况,错误主要是常见的语法错误SyntaxError,如下图所示,并且在错误提示中会有倒三角箭头的修改指示位置;python中的另外一种错误提醒叫做异常,指的是在语法和表达式上并没有错误,运行时会发生错误的情况。在python中,语法错误是直接显示在相关终端窗口,而异常可以进行错误提示,也可以进行捕捉处理。

 python语法错误异常处理

因为在程序执行时,异常报错提示可能会影响到输出结果的显示,此时就可以使用try:...except:...进行异常处理,将错误直接输出打印,而不是以报错的形式显示。在python中有很多不同的异常提示方法,官方成为异常类,所有异常类都基于BaseException。大家也可以在官方文档中查看详细的继承关系图,在一般处理异常的情况下,大多使用Exception与其子类异常,如下图就是使用Exception输出程序执行异常的代码示例。

 Python异常处理

使用Exception下的NameError代码示例:

 Python异常处理nameerror

还有一些异常错误信息是模块中自带的错误,比如urllib.error中的HTTPErrorURLError,以及json中的JSONDecodeError等。查看底层实现源码可以看出这些异常也是基于Exception,相当于这些模块主动抛出一个自定义的异常信息,所以也是可以通过Exception进行输出。如下图:

 Python抛出异常错误

既然在模块可以从代码中实现主动抛出异常错误信息,那我们也可以根据自己的需求去抛出相应的异常提示信息。这时候就使用到了raise,代码示例如下,我们可以在raise中添加一个基类,紧挨基类去添加一个关于异常信息的提示,提示内容可以为汉语,但是尽量不要使用。

 Python抛出异常错误信息

try:...except:...语句还可以结合finally进行使用,无论输出try语句中的正确代码,还是输出except中的错误信息,finally都会进行输出打印输出,代码示例图下图所示。

 Python异常错误finally的用法

try:...except:..除了可以使用raise抛出异常,和finally进行结合使用,还可以结合else进行使用,else用来返回输出正确信息,但正确内容大多写在try语句中,所以else并不常用;try:...except:..语句也可以根据实际情况添加多个except进行处理不同的异常信息,关于更多的用法,大家还可以通过“百度一下”学习更多内容。

以上内容主要帮助大家使用try:...except:...处理异常的方法,如果不清楚使用哪一种异常方法,可以使用通用异常Exception,也可以在except中打印自己定义的错误信息。在出现异常的情况下程序有可能会中断执行,而使用异常处理,则可以跳过这些异常继续执行正确的代码;异常处理也可以添加自定义的错误信息,在工作中方便与同事之间的配合,这些都是使用异常处理的好处。

 

以下为参考文档,依顺序对应文中数字:

①https://docs.python.org/3.6/tutorial/errors.html?highlight=exceptions

②https://docs.python.org/3.6/reference/compound_stmts.html#except

③https://docs.python.org/3.6/library/exceptions.html

④https://docs.python.org/3.6/reference/simple_stmts.html#raise


点击这里复制本文地址 以上内容由天天Python整理发布,请在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

天天Python © All Rights Reserved.  
京ICP备18036253号 |
关于本站| 蜘蛛地图| 网站地图