下面主要使用的是: try .. except .. else .. finally ...,用的是 traceback 这个第三方模块。
1 import traceback 2 #捕捉哪行代码报错 3 def calc(a,b): 4 res = a/b 5 return res 6 7 def main(): 8 money = input(‘输入多少钱:‘) 9 months = input(‘还几个月:‘) 10 try: 11 res = calc(int(money),int(months)) 12 except ZeroDivisionError as e: #try里面的代码如果出错了,走except里面的代码 13 #处理异常,只要把ZeroDivisionError 整个报错类型放到except后面就好 14 traceback.print_exc() #只是输出报错的详细信息,不影响程序运行 15 print(‘还款月数不能小于1‘,e) 16 except ValueError as e: 17 traceback.print_exc() 18 print(‘输入必须是整数‘,e) 19 except Exception as e: #捕捉所有的异常 20 traceback.print_exc() 21 print(‘未知错误%s‘ %e) 22 else:#没有出错的情况下走else 23 print(‘每个月应该还%s‘ %res)#这句应该再成功的时候才输出 24 finally: 25 print(‘哈哈‘) #不管有咩有捕捉到异常,这里都会执行