首页 / 知识
python报的错误怎么处理
2023-11-12 13:01:00
在编写Python代码或开发实际应用的项目时,程序报出异常或错误是在所难免的,那么我们应该怎样处理这些异常呢?下面来说一下方法。
1.使用try...except捕捉异常
try:
s=1/0
exceptIndexError:
print('except')
exceptKeyError:
print('Keyerror')
exceptZeroDivisionError:
print('ZeroDivisionError')
或
try:
s=1/0
except:
print('出现异常')
或有多个异常名称的格式
try:
s=1/0
except(IndexError,KeyError,ZeroDivisionError),e:
print(e)
2.使用try...except...else语句捕捉异常
当try块中的代码没有异常时,则跳过except块中的代码,执行else块中的代码
工作原理:
1).如果try代码块语句执行发生异常,Python就跳回try,执行第一个匹配该异常的except块中的代码
2).如果异常发生在try代码块内,没有匹配的except子句,name异常就会向上传递到程序中之前进入的try中,或者转到这个进程的顶层(这会使python终止当前程序并打印默认的错误消息)
3).如果try块中的代码执行没有异常发生,则python将执行else块中的代码
3.使用try...finally捕捉异常
当try块中包含了finally语句,则python一定会在执行完try块中的代码之后在执行finally块中的代码(无论try块中的代码是否发生异常都将执行finally块中的代码)
工作原理:
1).如果执行try块中的代码时没有发生异常,则Python会跳转至finally语句并执行该代码块,然后继续执行程序中finally语句之后的代码
2).如果执行try块中的代码时发生异常,则Python依然会执行finally语句中的代码块,但是接着会将异常向上传递到上层的try语句或顶层的默认处理器,程序不会继续执行导致发生异常的语句之后的try块中的代码。也就是说,即使发生了异常,finally代码块还是会被执行,和except不同的是,finally不会终止异常,而是在finally代码块执行后,一直处于发生状态
4.使用raise抛出异常(手工引发异常)
raise<异常对象>
‘异常对象’表示将引发异常的异常名称,且异常名称标识了具体的异常类。raise语句还可指定对异常对象进行初始化的参数,为此需要在异常类的名称后添加一个逗号以及指定参数(或者由参数构成的一个元组)。一旦执行了raise语句,raise语句后的代码将不能被执行
raise<异常对象>,<异常信息标识>
例子:
try:
raiseNameError
exceptNameError:
print('抛出一个异常')
5.自定义异常
格式classMyError(Exception):
def__init__(self,value):
self.value=value
def__str__(self):
returnrepr(self.value)
try:
raiseMyError(2*2)
exceptMyErrorase:
print('Myexceotionoccurred,value:',e.value)
6.使用assert语句
用于检测某个条件表达式是否为真。又称断言语句,即assert认为检测的表达式永远为真,断言失败就会引发AssertionError异常
语法格式:assert<条件判断表达式>
username='admin'
password='123456'
assertusername=='admin'andpassword=='admin','密码错误!
以上内容为大家介绍了python培训之报的错误怎么处理,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
pythonfor循环语句怎么写
pythonfor循环语句怎么写,数据,培训,项目,语句,循环体,实例,教程,时会,字符串,序列,pythonfor循环可以遍历任何序列的项目,如一个列表或者一个pythonelif语句报错是什么原因
pythonelif语句报错是什么原因,培训,语句,数据,条件,程序,结果,内容,变量,使用方法,更多,python的else和elif语句也可以叫做子句,因为它们不能python代码如何在命令行运行
python代码如何在命令行运行,代码,培训,路径,空格,文件,下面,以上,目录,更多,内容,我们在编写python代码时,可以在交互模式下运行代码,也可以用python怎么写多行代码
python怎么写多行代码,代码,培训,情况,示例,字符串,斜杠,方法,行书,括号,有用,在写代码过程中,经常遇到一行代码很长的情况。为了让代码显得整python如何使用return语句
python如何使用return语句,地址,位置,情况,培训,函数,分析,控制权,地方,变量,语句,return语句就是讲结果返回到调用的地方,并把程序的控制权一python如何用import语句
python如何用import语句,培训,名称,代码,标准,函数,模块,语句,前缀,形式,程序,Python程序可以调用一组基本的函数(即内建函数),比如print()、ipython怎么给代码注释
python怎么给代码注释,代码,培训,注释,时间,项目,负担,冗余,重要性,开头,含义,注释的重要性如果我们是做独立项目,或者是唯一一位来查看自己编pythonif语句怎么写
pythonif语句怎么写,培训,语句,条件,冒号,控制程序,程序语言,逻辑,原理,根据,形式,if语句是python中常见的条件判断语句,我们先要知道它的运行pythonfinal作用域的代码一定会被
pythonfinal作用域的代码一定会被执行吗?,代码,培训,异常,流程,作用,函数,上面,以上,需求,发生,python在正常的情况下,finally作用域的代码一pythonif-elif-else语句的使用注意
pythonif-elif-else语句的使用注意,培训,代码,语句,后面,实例,以上,条件,更多,内容,python中if-elif-else语句的使用注意1、判断多个条件的python99乘法表代码
python99乘法表代码,代码,基础,培训,空格,字符串,结果,初学者,实例,后面,以上,python99乘法表代码1、说明字符串之间才能相加,所以输出结果的python美元转换成人民币转换代码
python美元转换成人民币转换代码,人民币,美元,代码,货币,培训,表示,小数点,空格,数值,符号,python美元转换成人民币转换代码1、说明程序可以