Python中的错误处理

一、什么是异常?

就是python脚本在执行过程中遇到的错误,遇到错误的时候python程序会
报错,这个时候就会产生异常

异常处理

如果你不想在异常发生时结束你的程序,只需在try里捕获它。

1.try-except语法一

下面是捕获异常的简单语法:

try:
<语句>        #运行别的代码
except <名字><语句>        #如果在try部份引发了'name'异常
except <名字><数据>:
<语句>        #如果引发了'name'异常,获得附加的数据
else:
<语句>        #如果没有异常发生
i.实例代码-存在异常
try:
    num = int(input("请输入一个整数:"))
    ret = 8/num
    print(ret)
except ZeroDivisionError:   # 出现错误的时候会执行的代码
    print("除0错误")
else:
    print("程序本次执行没有出现错误")

代码运行结果:
在这里插入图片描述

ii.实例代码-没有异常
try:
    num = int(input("请输入一个整数:"))
    ret = 8/num
    print(ret)
except ZeroDivisionError:   # 出现错误的时候会执行的代码
    print("除0错误")
else:
    print("程序本次执行没有出现错误")

程序执行结果:
在这里插入图片描述

2.try-except语法二

简单的语法:

try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
else:
    如果没有异常执行这块代码

注意:
以上方式try-except语句捕获所有发生的异常。但这不是一个很好的方式,我们不能通过该程序识别出具体的异常信息。因为它捕获所有的异常。这样我们就不能针对异常做出特定的修改

代码实例
try:
    num = int(input("请输入一个整数:"))
    ret = 8/num
    print(ret)
except :   # 出现错误的时候会执行的代码
    print("错误")
else:
    print("程序本次执行没有出现错误")

3.try-except语法汇总

1.一个except后面可以跟上多个错误类型
except (RuntimeError, TypeError, NameError):
   pass
2.异常有参数
except ZeroDivisionError as err:
    print('Handling run-time error:', err)

如果异常有参数,则它们将作为未处理异常的消息的最后一部分(‘详细信息’)打印。

3. try 子句 中调用(包括间接调用)的函数
>>> def this_fails():
...     x = 1/0
...
>>> try:
...     this_fails()
... except ZeroDivisionError as err:
...     print('Handling run-time error:', err)
...
Handling run-time error: division by zero

4.触发异常

raise NameError('HiThere')
raise 语句支持强制触发指定的异常
raise 唯一的参数就是要触发的异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值