异常对象|学习笔记

简介: 快速学习 异常对象

开发者学堂课程【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 至少有一个即可。

相关文章
|
7月前
|
Java C++ Spring
解决NoUniqueBeanDefinitionException异常的方法
了解Spring框架中`NoUniqueBeanDefinitionException`异常的原因和解决方案。此异常发生在容器内有多个相同类型的bean时,Spring无法决定注入哪个bean。解决方法包括:使用`@Primary`注解标记首选bean,利用`@Qualifier`注解配合`@Autowired`、`@Resource`、`@Inject`或`@Value`指定bean名称。选择哪种方法取决于业务需求和具体场景,预防措施是避免创建多个同类型bean或使用`@Primary`注解。
255 0
|
1月前
|
Java
如何使用 try-catch 块来捕获静态变量初始化中的异常
在Java中,可以通过在静态初始化块或静态变量初始化时使用try-catch语句来捕获可能出现的异常,确保程序的健壯性。具体做法是在静态初始化代码中加入try-catch结构,对可能抛出的异常进行处理。
80 16
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
76 2
|
5月前
|
文字识别 Java
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
|
5月前
|
Java 程序员 API
Java异常类型及异常处理方式
Java异常类型及异常处理方式
|
6月前
|
Java
ClassCastException(类转换异常)可能原因和解决方法总结
ClassCastException(类转换异常)可能原因和解决方法总结
|
6月前
|
Java 程序员 索引
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
JavaSE——异常(1/2)-认识异常(介绍,异常的体系,了解如何解决异常)、自定义异常(自定义异常的种类,实例演示)
39 0
|
数据采集 数据安全/隐私保护
如何使用异常处理机制捕获和处理请求失败的情况
在爬虫开发中,我们经常会遇到请求失败的情况,比如网络超时、连接错误、服务器拒绝等。这些情况会导致我们无法获取目标网页的内容,从而影响爬虫的效果和效率。为了解决这个问题,我们需要使用异常处理机制来捕获和处理请求失败的情况,从而提高爬虫的稳定性和稳定性。
129 0
如何使用异常处理机制捕获和处理请求失败的情况
【异常机制】异常抛出变量的生命周期
【异常机制】异常抛出变量的生命周期
79 0
【异常机制】异常抛出变量的生命周期
|
Java 开发者
JAVA异常类异常抛出处理
JAVA异常类异常抛出处理
138 0