对于非正常情况,不是终止程序而是进行异常处理
try:语句块内容异常,则执行except:语句
try: a = float(input('输入除数:')) b = float(input('输入被除数:')) c = b/a print(c) except: print("数据错误")
可能出现的多个异常(按照先子类后父类的顺序),并且针对性的写出异常处理代码。
如果 try 块中没有抛出异常,则执行else块
finally 块无论是否发生异常都会被执行;通常用来释放 try 块中申请的资源。
不把 return 放到异常处理结构中,而是放到方法最后。
with 上下文管理可以自动管理资源,在 with 代码块执行完毕后自动还原进入该代码之前的现场或上下文。不论何种原因跳出 with 块,不论是否有异常,总能保证资源正常释放。
import traceback try: a = float(input('输入除数:')) b = float(input('输入被除数:')) c = b/a print(c) except: traceback.print_exc() #打印出错误类型