代码是人的逻辑思维的具体体现,因为没有一个人的逻辑思维是完美无缺的,所以人在编写代码时必然会出现各种错误。既然错误或多或少都会发生,那么如何捕捉错误,并且捕捉到错误后要如何处理,就显得很重要。
语法错误
Python解释器在解析Python代码时,如果发现无法解析的语句,就会抛出SyntaxError语法错误。Python解释器之所以无法解析,是因为当前的Python代码没有完全符合Python的规则。
在Python2中,可以使用“print'你好'”的形式输出内容,但这种语法规则在Python3中已不被支持
运行错误
运行时错误与语法错误不同,它是指代码的语法规则都是正确的,但在运行时出现了错误,运行时错误也被称为“程序抛出了异常”
异常捕捉
异常是相对正常而言的,异常是指某个事件发生在程序执行过程中并影响程序正常的执行流程,使得程序本身无法正常处理该事件,导致程序终止。
为了避免一些“可预测异常”影响程序的正常执行,Python提供了try…except…语句来捕获异常,try关键字下的代码块在执行时如果出现了错误,会触发except关键字捕获异常信息并通过该关键字下的代码块进行处理。
代码示例如下:
常见的几种异常类型
可以使用except关键字捕捉相应类型的异常,except关键字后可以接相应的异常类型,当try代码块中的代码报错时,只有抛出与except关键字后异常类型相同的异常,才会执行except关键字后的代码逻辑;如果except关键字后没有接异常类型,那么任何异常都会触发except代码块中的代码逻辑。
示例代码如下:
在上述代码中,except关键字只捕捉TypeError类型的异常,而对于其他类型的异常,except代码块不会执行。
如果希望try代码块中的代码无论是否抛出异常,代码都执行某种逻辑,则可以使用finally关键字,代码如下: