Hysteria

Python异常处理回顾
常见系统异常除零异常(ZeroDiviceError):被除数写成了0名称异常(NameError):变量未定义类...
扫描右侧二维码阅读全文
17
2019/04

Python异常处理回顾

常见系统异常

除零异常(ZeroDiviceError):被除数写成了0
名称异常(NameError):变量未定义
类型异常(TypeError):不同类型数据进行相加
索引异常(IndexError):超出索引范围
键异常(KeyError):没有对应名称的键
值异常(ValueError):将字符型数据转换成整型数据
属性异常(AttributeError):对象没有对应名称的属性
迭代器异常(StopIteration):迭代次数超出迭代器内容个数

异常处理

raise 异常类型(提示信息)

常类型最好跟发生错误的类型一致,当然如果不确定是哪种异常类型,也可以使用通用异常类型Exception表示

for i in range(6):
    if i == 3:
        raise Exception("当i等于3时抛出这个通用异常")
    print(i)

结果为

0
1
2
Traceback (most recent call last):
  File "/Users/huangkai/Desktop/error.py", line 3, in <module>
    raise Exception("当i等于3时抛出这个通用异常")
Exception: 当i等于3时抛出这个通用异常

异常处理

以下代码其实和if - else相似,程序首先会执行try的代码块,这部分代码也是程序的主体代码,而当主体代码产生异常时,就会执行except语句的代码,打印出异常的类型和提示信息。从而程序不会终止运行。

try:
    程序部分
except 异常类型 as 别名:
    异常处理部分
a = [1, 2, 'a', 4]
for i in a:
    try:
        print(i+0)
    except TypeError as tp:
        print('类型错误!!加个锤子')

结果输出:
1
2
类型错误!!加个锤子
4
Last modification:April 29th, 2019 at 08:53 pm

Leave a Comment