一、python中的异常
1. BaseException:这个异常类型就是所有异常的基类,在自定义异常类时也需要去继承这个类,当使用它作为异常捕获的类型时就会自动捕获所有异常。不知道是啥去捕获它就是了
2. IOError:该异常类型的意思就是在文件IO流传输出现问题时就会捕获到的异常,一般来说打开文件和读写文件都有可能引发这种异常类型。
3. KeyError:在python中看到key关键字就可以知道这个异常类型是由字典所引发的了,它的意思就是在访问了字典中不存在的键时会捕获异常。
4. TypeError:这是最常见也是最容易被引发的异常类型了,在对象比较或者是执行任意表达式时,只要对象数据类型和需求不对上就会引发这个类型的异常。
5. OverflowError:在python中无论是整数还是浮点数,它们能够参与数学计算的值都是有着长度上限的,当结果或者是数字的长度超出数据类型规定值时就会引起OverflowError类型的异常。
6. NameError:这个异常类型被引发的原因就在于访问了当前程序中不存在的变量,name指代的就是变量名。
7.StopIteration:迭代出错异常
二、最常用的
使用try except
一个try可以匹配多个except,在匹配到后返回try,不执行后面的except
try 语句按照如下方式工作;
-
首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
-
如果没有异常发生,忽略 except 子句,try 子句执行后结束。
-
如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
-
如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。
异常类型本身是一个类,应该说万物皆是类
三:excpet: 与else
excpet放在所有except最后面,表示如果前面没有捕获,这里便代表捕获所有问题
else放在最后,表示没问题的话就执行
四:
raise的作用是手动扔异常
可以不带参数,这时候代表通配,会抛出一个runtime error
五.
具体错误可以有两个值,一个是抽象的如value error,一个是具体的,比如用value error("str")来定义
标签:python,except,try,类型,子句,mitudesk,异常,日记 From: https://www.cnblogs.com/mitudesk/p/16728551.html