**## 错误和异常
Python中两种错误:语法错误和异常。
python assert(断言)用于判断一个表达式,在表达式条件为false的时候触发异常。
异常
在python中即便语法是正确的,在运行它的时候,也有可能发送错误。运行期检测到的错误被称为异常。异常以不同的类型出现,这些类型都作为信息的一部分打印出来。
异常处理
try:
执行代码
except 异常名称...:
发生异常时执行的代码
一个try语句可能包含多给我except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。
try:
执行代码
except (异常名称1, 异常名称2, ...):
发生异常时执行的代码
try/except…else
try:
执行代码
except:
发生异常时执行的代码
else:
没有异常时执行的代码
打开文件时正常的没有发生异常则执行els部分的语句。
try/except…else/finally
try:
执行代码
except:
发生异常时执行的代码
else:
没有异常时执行的代码
finally:
不管有没有异常都会执行的代码。
语句无论是否发生异常都将执行最后的代码。
抛出异常
python使用raise语句抛出一个指定的异常。
raise [Exception [, args[, traceback]]]
raise唯一的一个参数指定了要被抛出的异常,它必须是Exception的字类。
用户自定义异常
异常类继承自Exception类,可以直接继承,或者间接继承。大多数异常的名字都以"Error"结尾,就和标准异常命名一样。
预定义清理行为
关键字with语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行它的清理方法。**