若没有在程序中对程序做任何的异常处理,如果程序中存在语法错误或逻辑上的错误,那么在运行程序时,就会抛异常,程序会卡在异常那里,不会再往下继续。若不想让这样的情况发生,则需要加入遇到异常的处理方式,那么程序还是会继续运行下去,举一个简单的例子:
![](https://img.haomeiwen.com/i6857741/f13515638082dd1b.png)
![](https://img.haomeiwen.com/i6857741/172cccbc67a5ae63.png)
1、异常处理基本格式
![](https://img.haomeiwen.com/i6857741/34ffa40d78918408.png)
四个部分try,except,else,finally可以不都写,但try不能单独出现。
其中,Exception是内置的对所有的Python解释器能捕捉到的内置异常描述的类,它继承于python中其他内置的类
![](https://img.haomeiwen.com/i6857741/ca09bff8fd7aec3e.png)
在解释器捕获到异常时,将异常对象赋值给ex,ex只是异常对象的名字,可以更改。
![](https://img.haomeiwen.com/i6857741/367bfa82b1588c8e.png)
2、自定义异常类:
系统内置提供的异常类,可能无法描述我们现实业务逻辑中可能出现的异常,因此需要自定义一些异常类,来描述我们可能出现的异常,举一个简单的例子:
![](https://img.haomeiwen.com/i6857741/2aac41e07d6aa57e.png)
![](https://img.haomeiwen.com/i6857741/5dd8e2c0c3964f52.png)
3、异常的嵌套:
若存在异常嵌套,如果最内层的异常不处理,则会把异常往外抛,直到有对象对其进行处理,若最终没有对象处理异常,就会报错。
![](https://img.haomeiwen.com/i6857741/9778a89c5d75850b.png)
![](https://img.haomeiwen.com/i6857741/a97b6c1c7a43bdbb.png)
![](https://img.haomeiwen.com/i6857741/5115437fc188f170.png)
![](https://img.haomeiwen.com/i6857741/a3bfd05b8be54cfc.png)
网友评论