Python中的异常处理

目录

1.什么是异常

2. 异常处理

3. 抛出异常

代码检验

运行结果:


1.什么是异常

• 即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常
• 如果异常对象并未被处理或捕获,程序就会用所谓的回溯traceback,一种错误信息)终止执行
• Python的一些內建异常:
Exception 常规错误的基类 AttributeError 对象没有这个属性
IOError 输入/输出操作失败 IndexError 序列中没有此索引(index)
KeyError 映射中没有这个键 NameError 未声明/初始化对象 (没有属性)
SyntaxError Python 语法错误 TypeError 对类型无效的操作
ValueError 传入无效的参数 ZeroDivisionError 除(或取模)零 (所有数据类型)


2. 异常处理

try语句按照如下方式工作;
•  首先,执行try子句(在关键字try和关键字except之间的语句)
•  如果没有异常发生,忽略except子句,try子句执行后结束。
•  如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。
•  如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
•  如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
•  一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被
执行。或者一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组


3. 抛出异常

• Python 使用 raise 语句抛出一个指定的异常
• raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是
异常的类(也就是 Exception 的子类)。
• 如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的
raise 语句就可以再次把它抛出。


代码检验
 

# python的异常处理

# print("Start......")
# try:
#     #捕获异常
#     a = int(input("请输入一个数值:"))
#     print("你输入的值:", a)
# except:
#     #处理异常
#     print("Error!")
# print("End......")

# 多层except处理
# print("Start......")
# try:
#     #捕获异常
#     a = int(input("请输入一个数值:"))
#     print("你输入的值:", a)
#     print(100/a)
# except ValueError:
#     #处理异常
#     print("值错误!")
# except ZeroDivisionError:
#     print('除数为0错误!')
# except:
#     print("未知错误")
# print("End......")

# 多层except处理
print("Start......")
try:
    #捕获异常
    a = int(input("请输入一个数值:"))
    print("你输入的值:", a)
    print(100/a)
except (ValueError, ZeroDivisionError) as info:
    print("错误!原因:", info)
    # raise   #再次将当前错误抛出
except:
    print("未知错误")
print("End......")

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry_ww

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值