600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python异常处理操作语句_异常处理语句(2)

python异常处理操作语句_异常处理语句(2)

时间:2024-02-13 20:56:52

相关推荐

python异常处理操作语句_异常处理语句(2)

1.try...except语句的嵌套

这种语句就是多except语句的多处理方式,下面我们通过一个例题来学习一下try...except的语句嵌套。deftest():

n=int(input('有3个语句需要测试,请选择(1/2/3):'))

ifn==1:#keyError异常情况

my_dict={'dotcpp':123}

print(my_dict['dot'])

elifn==2:#IndexError异常

my_list=[1,2,3,4,5]

print(my_list[100])

elifn==3:#NameError异常

print('不存在的变量dotcpp:',dotcpp)

try:

try:

try:

test()

exceptKeyError:

print('KeyError异常')

exceptIndexError:

print('IndexError异常')

exceptNameError:

print('NameError异常')

我们分别测试1/2/3,输出结果如下:有3个语句需要测试,请选择(1/2/3):1

KeyError异常

有3个语句需要测试,请选择(1/2/3):2

IndexError异常

有3个语句需要测试,请选择(1/2/3):3

NameError异常

在这个例题中,我们首先在定义的函数中输入一个判断量n,然后根据n的值给出了三种异常的情况,然后我们在最后嵌套了3个try..except语句,也就是说test()语句的结果会经过三层判断。

2.try...except...finally语句

一个完整的异常处理机制是离不开finally语句的,这个语句的作用是不管我们的程序中是否有异常发生,finally语句下的代码都会被执行,它的语法格式为:try:

block

except[typeerror]:

deal1

finally:

deal2

我们通过一个例子来看一下这种结构:deftest():

n=int(input('请输入一个整数:'))

print(n)

try:

test()

exceptKeyError:

print('KeyError异常')

finally:

print('finally语句已执行')

我们分别输入6和dotcpp来看一下输出结果:请输入一个整数:5

5

finally语句已执行

请输入一个整数:dotcpp

finally语句已执行

Traceback(mostrecentcalllast):

File"C:/Users/test.py",line5,in

test()

File"C:/Users/test.py",line2,intest

n=int(input('请输入一个整数:'))

ValueError:invalidliteralforint()withbase10:'dotcpp'

通过这个例子我们可以看出,无论我们的程序是否出现异常,finally语句都会执行。

3.try...except...else语句

我们在上面学习的finally语句是无论语句是否发生异常都会执行的语句,下面我们来学习的try...except...else语句当程序中未发生异常的时候才会执行,它的语法结构为:try:

block

except[typeerror]:

deal1

else:

deal2

下面我们看例子:deftest():

n=int(input('请输入一个整数:'))

print('输入值为:',n)

try:

test()

exceptValueError:

print('ValueError异常')

else:

print('当前程序未出现异常')

输出结果为:请输入一个整数:5

输入值为:5

当前程序未出现异常

当我们输入值为dotcpp时请输入一个整数:dotcpp

ValueError异常

我们可以看出当程序异常的时候else语句并没执行,这些语句的区分难度并不大,大家可以通过例子去练习一下这几种常用的异常处理语句。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。