python-异常处理1

1.异常和错误概念:

        错误:没法通过其他的代码进行处理的问题

        语法错误:比如,定义函数写成了 dfe xxx()这种错误,可以直接通过IDE或解释器给出的提示进行修改。

        逻辑错误:语法层面没有问题,但是自己设计的逻辑出现问题。例如:if age < 18: print("已经成年")。这种错误,IDE或者解释器无法帮我们检测出。只有我们通过代码测试,进行排除。

        异常:多指程序在运行的过程中,出现的未知错误。语法和逻辑都正确,可通过其他代码进行处理修复。

        例如:

python-异常处理1

2.常见的系统异常:

        除零异常:

                示例代码:1 / 0

                异常名称:ZeroDivisionError

        名称异常:

                示例代码:print(name)

                异常名称:NameError

        类型异常:

                示例代码:"1" + 2

                异常名称:TypeError

        索引异常:

                示例代码:I = [1, 2]

                                    I[3]

                异常名称:IndexError

        键异常:

                示例代码:dic = "name": "sz", "age": 18}

                                    dic{add}

                异常名称:KeyError

        值异常:

                示例代码:int("abc")

                异常名称:ValueError

        属性异常:

                示例代码:name = "xxx"

                                    print(name.xxx)

                异常名称:AttributeError

        迭代器异常:

                示例代码:it = iter([1, 2])

                                    print(next(it))

                                    print(next(it))

                                    print(next(it))

                异常名称:StopIteration

        系统异常类继承树:

        BaseException所有内建的异常的基类:

        SystemExit:由sys.exit()函数引发。当它不处理时候,python解释器退出。

        KeyBoardInterrupt:当用户点击中断键(通常ctrl + c )引发。

        GeneratorExit:当调用一种generator的close()方法时引发。

        Exception:所有内置的,非系统退出异常是从该类派生的。应该从该类派生所有用户定义的异常