Python异常对象

简介: Python异常对象。如何捕获异常对象、捕获异常对象演示、try 语句

异常对象

[TOC]

目录:

一、如何捕获异常对象

二、捕获异常对象演示

三、try 语句

一、如何捕获异常对象

当程序运行过程中出现异常以后,所有的异常信息都会被保存在一个专门的异常对象中,而异常传播时,实际上就是异常对象抛给了调用处。如果except后跟着一个异常的类型,那么只会捕获该类型的异常,比如:

ZeroDivisionError 类的对象用来表示除 0 异常

Nameerror 类的对象用来处理变量错误的异常

如果 except 后没有任何内容,则此时会捕获到所有异常, Exception 是所有异常类的父类,相当于 except,所以如果 except 后跟着 Exception,也会捕获到所有异常。在异常类后面跟着 as xx 此时 xx 就是异常对象,但通常情况下没有特别大的作用。运用 finally 子句即无论是否出现异常,该子句都会执行,所以通常将必须执行的代码放在 finally 子句中。

二、捕获异常对象演示

print('异常出现前')
l=[]
try:
    # print(c)
    # print(10/0)
    # l[10]
    l + 'hollo'
except NameError:
    print('出现NameError异常')
except ZeroDivisionError:
    print('出现ZeroDivisionError异常')
except IndexError:
    print('出现IndexDivisionError异常')
except Exception as e:
    print('未知异常',e,type(e))
finally:
    print('无论是否出现异常,该子句都会执行')

print('异常出现后')

三、try 语句

将可能出错的代码放入到 try 语句中,如果代码没有错误,则会正常执行,如果出现错误,则会执行 except 子句中的代码,通过这种方式处理异常,避免给因为一个异常导致整个程序的终止。try 语句如下:

try:
    代码块(可能出现错误的语句)
except 异常类型 as 异常名:
    代码块(出现错误以后的处理方式)
except 异常类型 as 异常名:
    代码块(出现错误以后的处理方式)
...
else:
    代码块(没出错时要执行的语句)
finally:
    代码块(该代码块总会执行)

其中 try 语句是必须的,else 语句可有可无,except 和 finally 至少有一个即可。

目录
相关文章
|
25天前
|
存储 索引 Python
|
27天前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
1月前
|
存储 缓存 Java
深度解密 Python 虚拟机的执行环境:栈帧对象
深度解密 Python 虚拟机的执行环境:栈帧对象
60 13
|
1月前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
21 1
|
1月前
|
索引 Python
Python 对象的行为是怎么区分的?
Python 对象的行为是怎么区分的?
24 3
|
1月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
31 3
|
1月前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
19 1
|
1月前
|
缓存 Java 程序员
一个 Python 对象会在何时被销毁?
一个 Python 对象会在何时被销毁?
36 2
|
1月前
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
20 2
|
1月前
|
API Python
当调用一个 Python 对象时,背后都经历了哪些过程?
当调用一个 Python 对象时,背后都经历了哪些过程?
22 2