try 异常捕获机制
这块和java的try机制大同小异
运行示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# try 机制
try:
a = 100 / 0
except ZeroDivisionError as e:
print(e)
finally:
pass
运行结果
D:\PythonProject\sustudy>python main.py
division by zero
raise 主动抛出异常
示例代码
# 主动抛出异常机制 raise
def raiseDemo():
print("请输入")
a = int(input())
try:
if(a == 0):
raise ValueError("invalid %d" % (a))
c = 100 / a
except Exception as e:
print(e)
finally:
pass
运行结果
D:\PythonProject\sustudy>python main.py
请输入
0
invalid 0
try和raise结合
示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# try 机制 try...except
def exceptDemo():
try:
raiseDemo()
except Exception as e:
print(e)
finally:
print("finally")
# 主动抛出异常机制 raise
def raiseDemo():
print("请输入")
a = int(input())
try:
if(a == 0):
raise ValueError("invalid %d" % (a))
except Exception as e:
print(e)
finally:
c = 100 / a
exceptDemo()
运行结果
D:\PythonProject\sustudy>python main.py
请输入
0
invalid 0
division by zero
finally