whileTrue:try:# 代码块,逻辑
inp =input('请输入序号:')
i =int(inp)except Exception as e:# e是Exception对象,对象中封装了错误信息# 上述代码块如果出错,自动执行当前块的内容print(e)
i =-1print(i)
deffun():
ret =0try:
li =[11,22]
li[8]# 数组越界# int('w3r') # 数值错误except IndexError as e:# 细分类提在最上面print('IndexError',e)except ValueError as e:print('ValueError',e)except Exception as e:# 捕捉所有错误,写在最后print('Exception',e)else:# 不出错执行else
ret =1print('elese')finally:# 最后不管出不出错都执行print('....')return ret
r = fun()if r ==0:print('500')else:passtry:int('asdf')# 报错except Exception as e:print(e)
defdb():returnFalsedefindex():try:
r =input(">>")int(r)
result = db()ifnot result:raise Exception('数据库处理错误')# 直接触发下面的异常except Exception as e:
str_error =str(e)
r =open('log','a')
r.write(str_error)# 打开文件,写日志
index()