当前位置: Python基础教程 > 09-异常处理 > 阅读正文

python的异常处理

2021.6.22.   525 次   1025字

异常, 指定的是在程序运行时, python解释器遇到一个预期之外的结果

遇到异常后, 程序暂停执行, 并抛出一个异常信息, 这是python解释器自动完成的

异常机制, 有助于程序更加健壮, 和稳定

简单的捕获异常

对于某些可能出错的代码, 可以手动捕获异常

简单捕获语法

try:
    可能出错的代码
except:
    异常处理逻辑

简单捕获实例

try:
    num = int(input("请输入一个整数: "))
except:
    print("你的输入非法")

针对性异常捕获

异常是分种类的, 有多种不同类型的异常, 而一段代码中可能出现多种异常, 我们可能需要对不同的异常做不同的处理

针对性异常捕获语法

其中, 最后一行的ex表示异常对象,包含了异常描述

try:
    可能出错的代码
except 错误类型1:
    错误类型1的处理
except (错误类型2, 错误类型3):
    错误类型2, 3的处理
except Exception as  ex:
    print("异常描述:"+str(ex))

针对性异常捕获实例

try:
    num = int(input("请输入一个整数: "))
    result = 8/num
    print(result)
except ValueError:   #错误类型, 看控制台输出的第一个单词
    print("请输入整数")
except ZeroDivisionError:
    print("除0错误")
except Exception as ex:
    print("异常描述:" + str(ex))

完整的异常处理

完整的异常处理, 包括了else, 以及 finally关键字

try:
    可能出错的代码
except 错误类型1:
    错误类型1的处理
except (错误类型2, 错误类型3):
    错误类型2, 3的处理
except Exception as  ex:
    print("异常描述:"+str(ex))
else:
    print("没有异常")
finally:
    print("无论是否有异常,都执行")

完整异常处理实例

try:
    num = int(input("请输入一个整数: "))
    result = 8/num
    print(result)
except ValueError:   #错误类型, 看控制台输出的第一个单词
    print("请输入整数")
except ZeroDivisionError:
    print("除0错误")
except Exception as ex:
    print("异常描述:" + str(ex))
else:
    print("没有异常")
finally:
    print("无论是否有异常,都执行")

更多实例在后续的章节中

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群