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 至少有一个即可。

目录
相关文章
|
20天前
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
27 2
|
1月前
|
缓存 监控 算法
Python内存管理:掌握对象的生命周期与垃圾回收机制####
本文深入探讨了Python中的内存管理机制,特别是对象的生命周期和垃圾回收过程。通过理解引用计数、标记-清除及分代收集等核心概念,帮助开发者优化程序性能,避免内存泄漏。 ####
47 3
|
2月前
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError("Invalid input")`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
2月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
62 5
|
2月前
|
Python
在Python中,自定义函数可以抛出自定义异常
在Python中,自定义函数可以抛出自定义异常
55 5
|
2月前
|
存储 开发者 Python
自定义Python的异常
自定义Python的异常
23 5
|
3月前
|
存储 索引 Python
|
3月前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
3月前
|
存储 缓存 Java
深度解密 Python 虚拟机的执行环境:栈帧对象
深度解密 Python 虚拟机的执行环境:栈帧对象
79 13
|
3月前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
31 1