异常处理
在代码运行时,会因为各种原因出现bug,而程序遇到bug就会中断运行,而在日常生产中程序是要长时间运行不能随意中断的。因此就需要我们提前做好异常处理。
异常
print(x) # 一般报错就会打印一串红色的错误信息
异常处理:为了更合理的处理代码可能出现的错误
try: print(x) except NameError as error: print(‘错误:%s‘% error) # 错误:name ‘x‘ is not defined else: print(‘没有异常执行else的代码‘) print(‘其他的代码‘) # 会正常执行
通过上面的例子,总结出的异常处理格式为:
""" try: 代码 一般放一些我们认为可能会出错的代码 except 错误类型: 这里可以用as+变量名来接收错误信息 错误后执行的代码 一般就是将错误信息写进log文件 ...... 可以写多个except判定多种错误类型 else: 正常是执行的代码 代码 不管异常与否都执行的代码 """
特殊:finally,一般在函数中做异常处理用,和return遇到也会正常执行,可以做一些收尾的工作,比如:关闭打开的文件。
def func(): try: f = open(‘except_file‘, ‘w‘) f.write(‘test‘) return True except: return False finally: print(‘this is finally‘) f.close() print(func())
特殊:万能异常类型:Exception
try: print(i) except Exception as error: print(‘错误:%s‘% error) """ 虽然有了万能的异常处理机制,但是能预测到的异常还是要单独处理 并且单独的异常处理内容要当在万能之前 """