异常处理是Python中一种用于处理程序运行时错误的机制。在编写代码时,可能会出现各种不可预测的情况,例如除零错误、文件不存在、网络连接问题等等。为了确保程序能够在出现错误时正常运行,您可以使用异常处理机制来捕获和处理这些异常。Python中的异常处理使用try和except语句来实现。
二、try/except 捕获指定异常 try:# 可能引发异常的代码result = 10 / 0 # 除零错误except ZeroDivisionError:# 处理异常的代码print("除零错误发生")在这个示例中,try块中包含可能引发异常的代码,如果发生除零错误,将会触发ZeroDivisionError异常,然后控制流将转移到except块中,其中包含了处理异常的代码。
捕获所有异常 try:# 可能引发异常的代码result = 10 / 0 # 除零错误except:# 处理异常的代码print("异常发生")在这个示例中,try块中包含可能引发异常的代码,如果发生异常错误,然后控制流将转移到except块中,其中包含了处理异常的代码。
捕获多个指定异常 try:<语句>except (<异常名1>, <异常名2>, ...):print('异常说明')在这个示例中,一个 except 同时处理多个异常,不区分异常的优先级且对所有类型的异常采取同样的处理。
或
try:<语句>except <异常名1>:print('异常说明1')except <异常名2>:print('异常说明2')except <异常名3>:print('异常说明3')在这个示例中,执行 try 下的语句,如果引发异常,则执行过程会跳到第一个 except 语句。如果第一个 except 中定义的异常与引发的异常匹配,则执行该 except 中的语句。如果引发的异常不匹配第一个 except,则会搜索第二个 except,依次类推。
三、try/except/else在try和except之间添加一个else块,其中包含在没有异常发生时要执行的代码。
try:<语句>except <异常名1>:print('异常说明1')except <异常名2>:print('异常说明2')else:<语句> # try语句中没有异常则执行此段代码 四、try/except/else/finally在try和except之后添加一个finally块,其中包含无论是否发生异常都要执行的代码。
str1 = 'hello world'try:int(str1)except IndexError as e:passexcept KeyError as e:print(e)except ValueError as e:print(e)else:print('try内没有异常')finally:print('无论异常与否,都会执行我') 五、抛出自定义异常try/raise自定义抛出异常
try:age = int(input("请输入年龄:"))if age < 0:raise ValueError("年龄不能为负数")except ValueError as e:print(e)上述代码中,如果输入的年龄为负数,将抛出自定义的ValueError异常。
本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,对Python有一定认知和理解,会结合自身科研实践经历不定期分享关于python、机器学习、深度学习等基础知识与应用案例。
致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。
1、关注“数据杂坛”公众号,即可在后台联系我获取相关数据集和源码。
2、关注“数据杂坛”公众号,点击“领资料”即可免费领取资料书籍。
3、有论文指导相关需求,点击“联系我”添加作者微信直接交流。