#代码出现异常就不会往下走了
import pymysql
import traceback
l=[1,2,3]
try: #关键字
result= l[3] #有可能出现异常的代码写到try里面
except IndexError: #捕捉这个异常
print("代码执行出错,取不到你指定的下标") #出错了走这个,出错执行,写在try里面
else:
print(result) #正常执行走到这里,不出错执行
l=[1,2,3]
try:
r=1/0
except IndexError as e: #as e 错误的信息
print("代码执行出错,取不到你指定的下标")
print(e)
except ZeroDivisionError as e:
print("除数不能为零",e)
else:
print(result)
except Exception as e:#捕捉所有异常
traceback.print_exc() #打印异常的堆栈信息,需要引用模块
traceback.format_exc()#这个方法返回了错误信息
finally: #不管出没出错都会执行 finally里面的代码
print("finally")#不管出没出错都会执行 finally里面的代码
def execute_sql(sql,all=True,cur_type=1):
#cur_type如果是1,那么返回的是list
#如果是2,那么返回的字典
try:
connect = pymysql.connect(**mysql_info)
except Exception:
print("连接mysql出现异常!请检查账号/密码或者mysql是否可以连接")
traceback.print_exc() #打印异常的堆栈信息
quit()
cur = connect.cursor() if cur_type == 1 else connect.cursor(pymysql.cursors.DictCursor)
try:
cur.execute(sql)
except Exception:
print(f"sql不正确,请检查sql,你的sql是{sql}")
else:
if all:
result = cur.fetchall()
else:
result = cur.fetchone()
return result
finally:#不管出没出错都会执行 finally里面的代码
cur.close()
connect.close()
#练习 函数判断小数
def is_float(val): #传一个变量进来
val = str(val) #转换成s类型
if val.isdigit():#判断它是整数,直接返回
return False
try:
float(val) #出错了,转不成float,肯定不是小数
except:
return False
return True
异常处理
转载举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
相关文章
-
异常处理
1.什么是异常 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预
java 异常处理 ide -
Java 异常处理机制
Exception 和 Error 有什么区别?
java 开发者社区 异常处理 -
PHP 异常处理
异常用于在指定的错误发生
代码块 php 抛出异常 -
Java异常处理
Java异常处理导读*致命性错误*非致命性异常概念异常处理的类层次常见的运行时异常练习异常处理方法异常处理的方式多个catch
java 异常处理 自定义异常 程序运行
ba2bfff5555b 7 月前
d358f054b9aa 7 月前