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('程序执行结束!')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值