多语言展示
当前在线:750今日阅读:11今日分享:15

Python中错误及异常的处理方式有哪些?

Python编程中经常会遇到程序发生错误,根据是在解析时还是运行时发生的错误可以简单的分成语法错误和异常,那这些错误应该如何识别和处理呢?以下进行简单介绍。
工具/原料
1

Python 3.8.3

2

Intellij IDEA ultimate 2018.1

方法/步骤
1

语法错误:   发生于代码解析时,对于大多数开发平台如IDEA,都会非常及时的发现,平台一般会以红色下滑线等醒目的标志提醒用户,如下图所示。

2

解决语法错误的方式可以是根据个人经验知识进行修改,或者可以使用开发工具自带的校验修复功能进行提示修改,如下图中IDEA进行了提示。

3

异常:   发生于程序运行期时产生的错误,被称作异常,这些异常大多数不会被程序主动处理,以错误信息的形式进行展示。如下图所示程序,运行程序,如果发生异常则程序终止,并且会在后台日志记录展示。

4

处理异常的方式有两种,同java中异常处理,第一种是进行捕获,只是Python中使用的是try配合except语句,如下图所示。

5

可以对异常信息进行打印,如下图所示,将错误对象赋值给变量error,结合print方法即可打印出异常信息。

6

try,except搭配else使用,else子句放于except后,表示没有发生异常时运行else子句程序。如下图所示:

7

搭配finally使用时,表示程序最后一定运行的部分内容,如下图所示。

8

当然,很多时候,我们不能预知可能发生的异常,因此except后无法写入固定的异常类型,因此,在不写异常类型的情况下,结合sys.exc_info()方法直接打印发生的异常。

9

处理异常的第二种方法,也是和java中类似,Python中使用raise抛出异常,在该方法中不处理,而是抛给调用方。

10

总结:    同java中处理异常的方法,Python中也用了类似的方式进行处理;总的来说,异常要么捕获立马处理要么抛出让上层调用者处理,无论怎样,出现的异常都需要妥善处理完成,否则可能影响程序质量。

注意事项
1

抛出raise方法使用的时候,也可以指定特定类型异常进行抛出,如raise TypeError。

2

使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到的、而except又没有捕获的异常。

推荐信息