异常对象|学习笔记

简介: 快速学习 异常对象

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理异常对象】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8764


异常对象


目录:

一、如何捕获异常对象

二、捕获异常对象演示

三、try 语句

 

一、如何捕获异常对象

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

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

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

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

 

二、捕获异常对象演示

print(‘异常出现前’)

1=[]

Try:

#Print(c)

#1[10]

#1+’hollo’

Print(10/0)

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

相关文章
|
2月前
|
算法 编译器 C语言
【C++ 异常】C++ 标准库异常类及其应用
【C++ 异常】C++ 标准库异常类及其应用
41 0
|
2月前
|
Java C++ Spring
解决NoUniqueBeanDefinitionException异常的方法
了解Spring框架中`NoUniqueBeanDefinitionException`异常的原因和解决方案。此异常发生在容器内有多个相同类型的bean时,Spring无法决定注入哪个bean。解决方法包括:使用`@Primary`注解标记首选bean,利用`@Qualifier`注解配合`@Autowired`、`@Resource`、`@Inject`或`@Value`指定bean名称。选择哪种方法取决于业务需求和具体场景,预防措施是避免创建多个同类型bean或使用`@Primary`注解。
100 0
|
2月前
|
Java
【专栏】Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性
【4月更文挑战第27天】本文探讨了Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性。反射通过Class、Constructor、Method和Field类实现。文中列举了反射的应用场景,如动态创建对象、调用方法、访问属性和处理注解,并提供了相关实例代码演示。
|
4天前
|
文字识别 Java
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
|
7天前
|
Java 程序员 API
Java异常类型及异常处理方式
Java异常类型及异常处理方式
|
1月前
|
Java 程序员 索引
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
15 0
|
7月前
获取包装异常中真实异常
获取包装异常中真实异常
37 0
|
Java 程序员 编译器
【Java】全面解析异常(异常的分类、处理、抛出和捕获等)
“程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。”
【异常机制】异常抛出变量的生命周期
【异常机制】异常抛出变量的生命周期
53 0
【异常机制】异常抛出变量的生命周期
你真的明白关于迭代器的方法、使用异常、并发修改异常介绍嘛?
关于迭代器的方法、使用异常、并发修改异常介绍的使用
114 0
你真的明白关于迭代器的方法、使用异常、并发修改异常介绍嘛?