一般情况下,在Python无法正常处理程序时就会发生一个异常。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
1.异常处理
捕捉异常可以使用try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
1 try: #尝试运行代码 2 xxxx 3 except Exception as e: #发生异常执行(所有异常都可以捕捉) 4 xxxx 5 else: #不出异常执行 6 xxxx 7 finally: #无论是否发生异常都将执行最后的代码 8 xxxx 9 10 11 l = [1,2,3] 12 d = {} 13 try: #尝试运行代码 14 # print(l[4]) 15 print(d[‘name‘]) 16 except IndexError as e: #捕捉IndexError异常 17 print("下标不存在") 18 print(e) 19 except KeyError as e: #捕捉KeyError异常 20 print("key不存在") 21 print(e)
2.小练习
1 #操作数据库异常处理 2 import pymysql 3 mysql_info = { 4 ‘host‘:‘118.24.3.40‘, 5 ‘user‘:‘jxz‘, 6 ‘password‘:‘123456‘, 7 ‘db‘:‘jxz‘, 8 ‘port‘:3306, 9 ‘charset‘:‘utf8‘, 10 ‘autocommit‘:True 11 } 12 13 def op_db(sql,one_tag=True): 14 try: 15 connect = pymysql.connect(**mysql_info) 16 except Exception as e: 17 print("数据库连接失败",e) 18 return "001" 19 else: 20 cur = connect.cursor(pymysql.cursors.DictCursor) 21 try: 22 cur.execute(sql) 23 except Exception as e: 24 print("sql出错!",e) 25 return "002" 26 else: 27 if one_tag: 28 result = cur.fetchone() 29 else: 30 result = cur.fetchall() 31 finally: 32 cur.close() 33 connect.close() 34 return result
其他方法可以参考:https://www.runoob.com/python/python-exceptions.html
原文:https://www.cnblogs.com/zhangxiaowai/p/12991062.html