代码运行过程中难免会出现各种不可预见的异常情况,可能就会导致我们的系统挂掉。所以我们必须对这些可能出现的异常提前捕获处理,今天我们就来一起看看究竟该怎么去处理。
# 机构:家里蹲
# 作者:青灬火
# 时间:2021/7/23 22:21
#索引越界问题 IndexError
lst = [11, 22, 33, 44]
#print(lst[4]) #IndexError: list index out of range
try:
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
result = a / b
except ZeroDivisionError as e:
print('ZeroDivisionError')
except ValueError as e:
print('ValueError')
except BaseException as e:
print('BaseException', e)
# try...except...else结构
#如果try块中没有抛出异常,则执行else块, 如果try中抛出异常,则执行except块
try:
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
result = a / b
except BaseException as e:
print('BaseException', e)
print(type(e))
else:
print('结果为:', result)
#try...except...else...finally结构
#finally块无论是否发生异常都会被执行,常用来释放try块中申请的资源
try:
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
result = a / b
except BaseException as e:
print('BaseException', e)
print(type(e))
else:
print('结果为:', result)
finally:
print('finally 块。。。')
'''
Python常见的异常类型
1、ZeroDivisionError 除(获取模)零
2、IndexError 序列中没有此索引,即下标越界
3、KeyError 映射中没有这个键
4、NameError 未声明/初始化对象
5、SyntaxError Python语法错误
6、ValueError 传入无效值
'''
#traceback模块
#使用traceback模块打印异常信息
import traceback
try:
print(10/0)
except:
traceback.print_exc()
扫码关注公众号“JAVA记录册”
该公众号致力于为大家分享工作中会用到一些简单实用的小知识,而不是那些悬在云端的高大上但又感觉空泛的文章,欢迎大家关注,谢谢!