异常处理

Posted 测试的自我放逐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。

1.异常常见及处理

比如常见的除数不能为0的情况:

first = input(‘请输入除数:‘)
second = input(‘请输入被除数:‘)
try: #尝试看是否会有异常
first = int(first)
second = int(second)
res = first/second
li = [1,2,3,4]

处理错误异常:
# except ValueError as e: #这个e代表错误信息,如果上面的两行代码出现了 ValueError这个错
# print(e)
# print(‘请输入整数‘)
# except ZeroDivisionError as e:
# print(e)
# print(‘除数不能为0‘)



except Exception as e: #上面代码出异常的时候走这里
print(e)
print(‘出错了‘)



else: #没有出错,也不是必须写的
print(‘并没有出错‘)#这个是没有异常的时候走
print(res)

finally:#不管出错或者没有出错都会执行它,也不是必须写的。 比如关闭数据库之类 可以用
print(‘我是finally‘)

def my_db(sql):
try:
coon = pymysql.connect( **MYSQL_INFO )
except Exception as e:
print(‘数据库连接失败‘)
return ‘数据库连接失败‘
cur = coon.cursor() #建立游标
try:
cur.execute(sql)#执行sql
except Exception as res:
print(‘sql出错,sql是%s‘%sql)
else:#没有出错
if sql.strip()[:6].upper()==‘SELECT‘:
res = cur.fetchall()
else:
coon.commit()
res = ‘ok‘
finally:
cur.close()
coon.close()
return res

def my_db2(sql):
try:
coon = pymysql.connect( **MYSQL_INFO )
cur = coon.cursor() #建立游标
cur.execute(sql)#执行sql
if sql.strip()[:6].upper()==‘SELECT‘:
res = cur.fetchall()
else:
coon.commit()
res = ‘ok‘
except Exception as res:
print(‘出错了。。‘,res)
finally:
cur.close()
coon.close()
return res


以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

Java异常处理机制

java 反射代码片段

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

片段中的Android致命异常