一般情况下,在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