(11)python 异常

一、前言

因个人习惯,在阅读和学习文字资料时,习惯摘写笔记,因此在这里留下自己的学习记录。笔记的内容偏摘抄为主,并非自己的原创内容。

内容基于:《简明 Python 教程》Swaroop, C. H. 著沈洁元  译

二、简介

异常,当程序出现异常的状况,如读文件时,文件不存在。(此时可以用异常来处理)

在python中,若程序有无效语句,python会告诉我们那里有错误。

当我们引发常规的无效语句错误时,控制台会打印出错误位置,该行为是错误的错误处理器做的。

处理的意义:避免因不可预知的异常导致程序的终止,提高程序的健壮性和容错性。

三、异常的处理

我们如何处理异常,避免程序因异常而终止呢?(需要对异常进行处理,默认处理即由python终止程序,打印错误位置)

处理方式:对异常进行捕获处理,类似java的  try......catch.....语句,在python中则是try......except:......

try语句块:有可能出现异常的代码;

except语句块:处理异常的语句块;

其中   except后面可定义错误类型,指明捕获处理的异常类型,没有定义则默认匹配所有异常。(一个except后面可接一个异常类型,也可以以元组的形式处理多个异常)

特点:

1、允许有多个except从句,单独处理指定的异常类;

2、else从句,位于最后一个except从句后面,当try语句块没有捕获到异常则执行。

3、finally从句,位于else从句后面,不管有没有捕获到异常都将执行。

当我们自定义异常类型时,需继承Exception:python有两种错误类型,分别是语法错误异常(逻辑错误)

语法错误:即程序解析错误,发生在程序运行前;

异常:异常是程序运行期间可能发生的错误;(大多异常不会被处理,都是以错误的形式打印出错误信息)

Exception:python的异常基类,当你不知道异常类型时,可以捕获捕获该异常类型(万能异常)

四、抛出异常

类似java中的throws操作,在python中,抛异常的关键字是raise,用于主动触发异常,用法如下:

raise 异常类(这里可以写异常描述信息)

猜你喜欢

转载自blog.csdn.net/chen_courage/article/details/81103786