python异常处理概述
栏目分类:Python教程 发布日期:2020-01-18 浏览次数:次
异常处理概述
截止目前,相信一步一步按照教程敲代码学习的朋友们,早已遇到各种各样的错误,也就是我们俗称的bug,也叫异常,比如NameError,SyntaxError等等。在编程学习中,没有人可以避免遇到bug,我们很大一部分时间是在解决各种各样的错误。但是,随着我们编程经验的积累,有时候,我们在写代码的过程中,完全会有能力去预判程序在运行过程中可能会发生的错误,这时,我们可以对这个错误进行处理,让程序在遇到这个错误时,不中断执行,这种解决问题的方式就称为异常处理。
异常处理可以有效的避免程序崩溃,让程序即使遇到异常也可以平稳运行直到结束,可以很好的保障程序的健壮性。
其中语法错误是SyntaxError,这种错误很好理解,就是违背了python最基本的语法规则,比如少一个括号或冒号等,是最容易报语法错误的。比如:
错误提示:
File "text.py", line 1
for i in range(10)
^
SyntaxError: invalid syntax
[Finished in 0.2s]
相信大家现在对这种错误的解决方法早已了然于胸,解决办法就是在错误提示的位置加上一个冒号即可。
这种错误是不能被异常处理解决的,因为它违背了最基本的规律,但是,这种错误确是最好解决的,因为随着我们经验的积累,对语法会越来越纯熟,解决语法错误也将不在话下。
而真正需要我们熟知的错误是python程序中语法正确的前提下,程序运行时检测到的错误,这才是异常处理真正需要处理的对象,也就是上面提到的运行错误。在我们编写代码中遇到最多的就是这种。而这样的异常种类是非常多的,如果能清楚的辨认出这些错误,对于我们的代码调试工作来说,作用是非常非常大的。所以这部分将在下一节做单独列举出来讲解。
逻辑错误是python程序执行过程中,虽然符合基本语法,但是违背了基本的逻辑思维,比如让一个字符串和一个数字相加,或是在输入时,对输入的内容错误处理等。
错误提示:
Traceback (most recent call last):
File "text.py", line 3, in <module>
c = a + b
TypeError: unsupported operand type(s) for +: 'int' and 'str'
逻辑错误是隐式的一种说法,其产生的原因往往是我们编写程序时对具体问题考虑欠缺所致,具体的错误类型可以其并入上面的运行错误,作为一个异常来处理。
我们知道在python中一切皆对象,但是很难相象,连异常竟然都是对象。
在对异常的处理中,一个基本的思想就是捕获,然后抛出,可以想象成一个渔夫捕鱼,渔夫在捕了一网袋鱼后,要把里面不好的,不能卖钱的抓出来,然后将它们扔出去,这和异常处理的思路基本是一致的。
除了普通的异常处理,Python中还有断言的方式可以用来处理异常。
截止目前,相信一步一步按照教程敲代码学习的朋友们,早已遇到各种各样的错误,也就是我们俗称的bug,也叫异常,比如NameError,SyntaxError等等。在编程学习中,没有人可以避免遇到bug,我们很大一部分时间是在解决各种各样的错误。但是,随着我们编程经验的积累,有时候,我们在写代码的过程中,完全会有能力去预判程序在运行过程中可能会发生的错误,这时,我们可以对这个错误进行处理,让程序在遇到这个错误时,不中断执行,这种解决问题的方式就称为异常处理。
异常处理可以有效的避免程序崩溃,让程序即使遇到异常也可以平稳运行直到结束,可以很好的保障程序的健壮性。
1.错误种类
python中的错误种类大类分为以下三种:语法错误、运行错误和逻辑错误。其中语法错误是SyntaxError,这种错误很好理解,就是违背了python最基本的语法规则,比如少一个括号或冒号等,是最容易报语法错误的。比如:
错误提示:
File "text.py", line 1
for i in range(10)
^
SyntaxError: invalid syntax
[Finished in 0.2s]
相信大家现在对这种错误的解决方法早已了然于胸,解决办法就是在错误提示的位置加上一个冒号即可。
这种错误是不能被异常处理解决的,因为它违背了最基本的规律,但是,这种错误确是最好解决的,因为随着我们经验的积累,对语法会越来越纯熟,解决语法错误也将不在话下。
而真正需要我们熟知的错误是python程序中语法正确的前提下,程序运行时检测到的错误,这才是异常处理真正需要处理的对象,也就是上面提到的运行错误。在我们编写代码中遇到最多的就是这种。而这样的异常种类是非常多的,如果能清楚的辨认出这些错误,对于我们的代码调试工作来说,作用是非常非常大的。所以这部分将在下一节做单独列举出来讲解。
逻辑错误是python程序执行过程中,虽然符合基本语法,但是违背了基本的逻辑思维,比如让一个字符串和一个数字相加,或是在输入时,对输入的内容错误处理等。
错误提示:
Traceback (most recent call last):
File "text.py", line 3, in <module>
c = a + b
TypeError: unsupported operand type(s) for +: 'int' and 'str'
逻辑错误是隐式的一种说法,其产生的原因往往是我们编写程序时对具体问题考虑欠缺所致,具体的错误类型可以其并入上面的运行错误,作为一个异常来处理。
2.异常的处理方式
异常是程序执行过程中发生的事件,它会影响了程序的正常执行。我们知道在python中一切皆对象,但是很难相象,连异常竟然都是对象。
在对异常的处理中,一个基本的思想就是捕获,然后抛出,可以想象成一个渔夫捕鱼,渔夫在捕了一网袋鱼后,要把里面不好的,不能卖钱的抓出来,然后将它们扔出去,这和异常处理的思路基本是一致的。
除了普通的异常处理,Python中还有断言的方式可以用来处理异常。
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/Python/2020/0118/540.html