美文网首页
python:异常

python:异常

作者: alan2yang | 来源:发表于2019-02-22 23:24 被阅读0次

程序运行时遇到错误就会停止运行,并提示错误信息即为异常

程序停止运行并提示错误信息即为抛出异常

程序开发时,很难将 所有的异常情况 都处理的面面俱到,通过 异常捕获 可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性

一、捕获异常

01 异常捕获语法

程序开发中,如果对某段代码的执行结果不确定是否正确 ,可以通过try:来捕获异常,以下except语句可实现捕获所有异常

try:
    # 尝试执行的代码
except:
    # 出现错误后的处理

程序执行时,可能遇到不同类型的异常,并且需要针对不同类型的异常做出不同的响应,此时,需要捕获异常的类型

try:
    # 尝试执行的代码
except 错误类型1:
    # 对错误类型1执行相应代码
except 错误类型2:
    # 对错误类型2执行相应代码
except Exception as va:
    # 未知类型错误,并打印其错误类型
    print('错误类型为:%s' % va)
    

捕获未知错误

要通过except 错误类型i:的语句来实现识别所有错误类型,其代码量会很大,这时可以通过以上最后一行代码来实现

异常捕获完整语法

try:
    num = int(input('请输入一个整数:'))         # 用户的输入值不一定是整数
    a = 10/num                                  # 用户的输入值可能是0

except ValueError:                             # 识别特定的异常类型,若except后不跟异常类型,则捕获所有异常
    print('请输入正确的整数,整数,整数')

except Exception as r:                         # 将异常类型码直接输出
    print('异常是%s' % r)

else:
    print('如果没有异常,则执行else,有异常不执行')  # 效果同for...else...

finally:
    print('不管是否有异常,finally都执行')

print('捕获异常结束')

else:语句---只有 在没有异常时才会执行的代码

finally:语句---无论是否有异常,都会执行的代码

如果异常没有被捕获,则该语句与没有写try...except...else..finally...一样,按一般语句执行,该报错的对方照常报错。

02 异常的传递

当函数/方法执行出现异常,那么它的异常会传递给调用它的函数/方法

这样的话,在开发中,可以在主函数中增加异常捕获,只要出现异常都会传递到主函数中的异常捕获中

二、 主动抛出异常

应用程序特有的业务需求主动抛出异常

抛出后要捕获,捕获一般在抛出的上一级

python中提供有一个异常类Exception,若需要主动抛出异常,可以通过Exception类创建一个异常对象,并使用关键字raise抛出异常对象

def demo():
    pwd = input('请输入一个字符串:')

    if len(pwd) >= 8:
        return pwd

    ex = Exception('字符串长度太小', '呵呵')

    raise ex


try:
    print(demo())

except Exception as result:
    print('异常内容:%s' % result)

相关文章

  • 24:python中的异常

    异常: 首先看看python的异常继承树 python的异常分为两种. 1、内建异常:就是python自己定义的异...

  • Python异常处理

    参考 Python菜鸟教程错误与异常 Python 异常处理 错误和异常 Python中(至少)有两种错误:语法错...

  • Python学习(八)

    异常处理 Python中的异常类型总结: Python内置异常类的层次结构: 异常检测 try-except语句 ...

  • (三)python错误与异常&面向对象编程

    python错误与异常 语法错误与定位 异常捕获、异常处理 try:xxxexcept: 自定义异常 python...

  • Python错误处理机制

    @(python程序员)[Python] Python Cookbook 捕获所有的异常 处理异常的时候最好还会尽...

  • Python异常处理

    Python中文件的操作 Python异常的处理 异常的引发 try⋯finally的使用

  • Python常见异常

    python标准异常 异常名称 描述 BaseException 所有异常的基...

  • Python 异常

    Python 含有异常处理机制来帮助用户处理可能发生的错误异常。 1. 异常概念 异常是指Python程序运行过程...

  • 异常处理

    捕获异常 raise语法: 格式:raise 异常名称(‘异常描述’) python中常见的异常

  • python的异常处理

    Python异常处理

网友评论

      本文标题:python:异常

      本文链接:https://www.haomeiwen.com/subject/yctuyqtx.html