程序执行过程之中,出现异常错误,会导致程序出错终止,异常是Pythony一个对象,当程序出错,需要捕获异常,否则造成程序终止。
try…excpet…else语句获取异常
代码示例:
'''
try:
可能会出现异常的代码段
except:
如果出现异常,则执行except下代码,相当于提示
else:
如果try下代码无异常,才执行
'''
def func():
try:
A = int(input('第一个数字:'))
B = int(input('第二个数字:'))
SUM = A+B
print(SUM)
except:
print ('必须输入数字!')
else:
print ('以上是你获取的数字!')
func()
try…excpet语句获取多种异常类型
代码示例:
'''
try:
pass
except 异常类型1:
pass
except 异常类型2:
pass
'''
def func():
try:
A = int(input('第一个数字:'))
B = int(input('第二个数字:'))
P = input('请输入运算符(+ /):')
C = 0
if P == '+':
C = A + B
elif P == '/':
C = A / B
else:
print('符号输入错误!')
print (C)
except ValueError:
print('必须输入数字!')
except ZeroDivisionError:
print('除数不能是零!')
func()
try…excpet Exception as err语句获取多种异常类型
代码示例:
'''
try:
代码段之中可能出现多个异常
except 异常类型1:
pass
except 异常类型2:
pass
except Exception as err:
print (err)
'''
try:
list_1 = []
list_1.pop()
except Exception as err: # 使用Exception as err获取代码错误原因
print('代码段错误!', err)
try…excpet…finally语句获取多种异常类型
代码示例:
'''
try:
可能会出现异常的代码段
except:
如果出现异常,则执行except下代码,相当于提示
finally:
无论try下代码有无异常,finally下代码都会执行
'''
def fun():
stream = None # 定义stream为空值
try:
stream = open(r'c:\a.txx')
A = stream.read()
print (A)
except Exception as err:
print(err)
finally:
if stream:
stream.close() # 如果stream中有值,则关闭连接,否则不关闭
print ('Is close!')
fun()