加粗样式
1-异常概念
1-代码执行产生错误,无法继续
2-在异常前面代码可不可以执行? python---是可以---解释型
3-异常作用---程序不要退出-可以继续执行同时给予程序员一定的异常提示信息
2-异常的种类:
1-NameError: name 'name' is not defined
2-ZeroDivisionError: division by zero
3-FileNotFoundError: [Errno 2] No such file or directory: 't:/'
4-IndexError: list index out of range
3-异常的捕获+处理 :
1- 捕获已知异常
try:
except 异常类型:
处理内容
2-多个已知异常:执行其中一个--- 异常按照顺序抛出
except ZeroDivisionError:
print('您输入的值不能为0 !')
except ValueError:
print('输入的值的类型不对!')
3-捕获异常的具体信息;except ZeroDivisionError as e:
4-有时我们并不知道会抛出什么异常--未知异常!
1- except Exception as e:--捕获异常父类
2-简写 except :
3-捕获未知异常的具体信息:
traceback.format_exc()
5-不管是否有异常,我们都要执行一段代码 finally:
6-else: 没有异常的情况下,要执行一段代码
7-函数调用栈:
1-解释器中断当前代码的执行, 并抛出一个异常对象
2-并在函数的调用栈从下到上,层层的寻找捕获处理该异常的代码
3-如果能找到就执行对应的代码
4-如果不能则会一直找到最外层的函数结束本次执行
8-自定义异常
继承自Exception
class NameTooLongError(Exception):
pass