Python学习心得异常处理
有些代码在操作的过程当中,如果不注意其所限定的条件,可能在输入函数值时引发一些程序的报错,这样为了让代码自己能做到抛除异常操作的情况,就得让代码具有排除异常的能力。下面的一些操作就使得代码具有该功能,处理异常的语法结构:
一、try...except:
try...except的语法结构:
try:
可能会抛出异常的代码
except 异常类型:
异常处理代码(报错后执行的代码)
try...except结构的运用:
try:
num1=int(input('请输入第一个整数:'))
num2=int(input('请输入第二个整数:'))
result=num1/num2
print('两个整数相除的结果为:',result)
except ZeroDivisionError:
print('除数为0')
这里涉及到一些术语,比如说:抛出异常以及捕获异常。抛出异常指的是程序在运行的过程中报出错误,将这个给抛出去,放到try当中。捕获异常指的是except语句的执行,当异常发生后,except会进行对异常的分析,然后反馈。
二、try...except...except:
try...except...except的语法结构:
try:
可能会抛出异常的代码
except 异常类型A:
异常处理代码(报错后执行的代码)
except 异常类型B:
异常处理代码(报错后执行的代码)
多个except结构是为了应对多个类型的异常操作。
注:except可以写多个,把异常范围最大的写在最后。
try...except...except的语法结构的运用:
try:
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第二个整数:'))
result = num1 / num2
print('两个整数相除的结果为:', result)
except ZeroDivisionError:
print('除数不为0')
except ValueError:
print('不能将字符串转成整数')
except BaseException:
print('未知异常')
三、try...except...else:
try...except...else的结构为:
try:
可能会抛出异常的代码
except 异常类型:
异常处理代码(报错后执行的代码)
else:
没有抛出异常要执行的代码
try...except...else结构的运用:
try:
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第二个整数:'))
result = num1 / num2
except ZeroDivisionError:
print('除数不为0')
except ValueError:
print('不能将字符串转成整数')
except BaseException:
print('未知异常')
else:
print('结果:',result)
四、try...except...else...finally:
try...except...else...finally的结构为:
try:
可能会抛出异常代码
except 异常类型:
异常处理代码(报错后执行的代码)
else:
没有抛出异常要执行的代码
finally:
无论是否产生异常都要执行的代码
注:finally是不管有异常还是没异常都得执行的代码。
try...except...else...finally结构的运用:
try:
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第二个整数:'))
result = num1 / num2
except ZeroDivisionError:
print('除数不为0')
except ValueError:
print('不能将字符串转成整数')
except BaseException:
print('未知异常')
else:
print('结果:',result)
finally:
print('程序执行结束!')