当检测到一个错误时,解释器就没法继续进行了,反而出现一些错误的提示,这就是所谓的异常。spa
语法:code
try: 可能发生的错误代码 except: 若是出现异常执行的代码
# 捕获指定异常: 这里是‘NameError’ try: print(a) except NameError as result: print(result) # name 'a' is not defined # 捕获全部异常 :Exception try: print(b) except Exception as result: print(result) # name 'c' is not defined # 若是尝试执行的代码的异常类型和要捕获的异常类型不一致,则没法捕获异常。 try: print(b) except IOError as result: print(result) # 报错
try: print(1) # 1 except Exception as result : print(result) else: print('没有异常时执行的代码') # 没有异常时执行的代码 finally: print('不管是否异常都要执行的代码') # 不管是否异常都要执行的代码 try: print(i) except Exception as result : print(result) # name 'i' is not defined else: print('没有异常时执行的代码') finally: print('不管是否异常都要执行的代码') # 不管是否异常都要执行的代码
raise 抛出异常blog
class ShortInputError(Exception): def __init__(self,length,min_len): self.length = length self.min_len = min_len def __str__(self): return f'你输入的长度是{self.length},不能少于{self.min_len}' try: con = input('input:') if len(con)<3: raise ShortInputError(len(con),3) except Exception as res: print(res)