通常会遇到两类错误,一类是语法错误,一类是
处理异常
try-except语句来捕获并且处理异常,它的语法结构是这样的⬇️:
有时候我们不知道出现的是什么异常,我们就可以用一个元组把可能出现的异常给包裹起来,
也可以使用多个excet语句来把异常单独分开来处理,
这里最后一个例子,其中520+“FishC”这个异常是没有被处理的,因为系统处理1/0之后之间就跳到了它指定的异常处理的代码,然后就往下走了,520的这一句被忽视跳过了。
try-except-else
当try语句中没有检测出任何异常的情况下,它就会执行else里的内容,
try-except-finally
无论异常是否发生,都会执行finally的内容,通常用于关闭文件,
异常的嵌套
raise语句
可以实现自曝就是不用有触发异常的语句就可以让系统爆出异常,但是不能用raise去生成一个不存在的异常,
assert语句
也是主动触发异常,但是asset语句只能引发一个叫做AssertionError的异常,通常用于代码的调试