这篇“Python语法错误和异常处理的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python语法错误和异常处理的方法”文章吧。

一、前言

Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

二、异常

即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常

三、异常处理3.1 try/except

try:#age_str=input("====>")#age=int(age_str)#l1=[]#l1[2]d1={}d1["name"]exceptValueErrorase:print(e)exceptIndexErrorase:print(e)exceptKeyErrorase:print("KeyError:",e)exceptExceptionase:print("其他未知异常")3.2 try/except ... else

#异常的其他结构s="a"s=1try:int(s)exceptValueErrorase:print(e)exceptKeyErrorase:print(e)exceptIndexErrorase:print(e)exceptExceptionase:print("捕获未知异常")else:print("try包含的代码块没有异常,执行else里面的代码")finally:print("执行finally的代码,通常用于释放资源")3.3 try-finally

s="a"try:int(s)exceptValueErrorase:print(e)finally:print("执行finally的代码,通常用于释放资源")四、抛出异常4.1 raise

#主动触发异常try:raiseTypeError("这个异常是主动触发的")exceptTypeErrorase:print(e)五、用户自定义异常

自定义异常需要继承自 BaseException; (Exception 也 继承自 BaseException)

#自定义异常classMyException(BaseException):def__init__(self,msg):self.msg=msgdef__str__(self):return"<MyException:{}>".format(self.msg)try:raiseMyException("自定义异常")exceptMyExceptionase:print(e)六、断言 assert

程序某处判断结果,如果判断结果为 False; 抛出 AssertionError, 效果相当于 if 进行判断,再抛出异常

assert1==2if1!=2:raiseAssertionError

以上就是关于“Python语法错误和异常处理的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。