0
点赞
收藏
分享

微信扫一扫

python 异常获取方法

import sys
#第1:print(6/0) #直接运行该命令,出现异常,程序终止
#异常提示:
'''Traceback (most recent call last):
File "F:/file2.py", line 2, in <module>
print(6/0)
ZeroDivisionError: division by zero'''
#ZeroDivisionError为异常类型;division by zero为异常提示内容

#第2:通过下面的方法可以获取异常提示内容
print("第2")
try:
print(5/0)
except Exception as e:
print(e)

#第3:通过下面的traceback.print_exc()可以获取第1中的提示,并且程序不终止
print("第3")
import traceback
try:
print(5/0)
except:
traceback.print_exc()

#第4:通过下面traceback.format_exc()可以获取第1中的提示的字符串需要时可以显示或利用,但程序不终止
print("第4")
import traceback
try:
print(5/0)
except Exception as e:
print(traceback.format_exc())


#第5:通过下面的方法获取指定的异常类型ZeroDivisionError,提示信息为e
print("第5")
try:
print(5/0)
except ZeroDivisionError as e:
print("找到了")
print(e)

结果:

============================================================================= RESTART: D:/Python/Python37/file2.py ============================================================================

第2

division by zero

第3

Traceback (most recent call last):

File "D:/Python/Python37/file2.py", line 21, in <module>

print(5/0)

ZeroDivisionError: division by zero

第4

Traceback (most recent call last):

File "D:/Python/Python37/file2.py", line 29, in <module>

print(5/0)

ZeroDivisionError: division by zero

第5

找到了

division by zero

>>>

aa=int(input("请输入aa的值:"))
bb=int(input("请输入bb的值:"))
try:
answer=aa/bb
except ZeroDivisionError:
print("0不能做除数")
else:
print(answer)
#依赖try代码块成功执行的代码都应放到else代码块中

#如果没有else则下面的代码利用得都是try成功执行的结果继续运行,否则会except提示





举报

相关推荐

0 条评论