美文网首页
异常处理

异常处理

作者: 源猿袁 | 来源:发表于2018-06-23 19:36 被阅读0次

    1.自动抛出异常对象的情况
    2.异常处理需要掌握关键字
    try:它被称为扫描器,我们将可能出现的异常代码定义到try语句中,
    一旦程序需要了异常,扫描器会立即得到这个对象,并且尝试将此对象给到捕获器except
    except:它被称为捕获器,得到匹配的异常对象后,会立即将其处理掉
    我们也可以在except语句的内部定义一些想要的逻辑代码...
    finally:将我们一定需要被执行的代码放入到finally语句中,就算在之前的try和except中有关键字,finally童谣需要被执行
    使用场景:关闭文件操作,关闭数据库连接操作...
    else:如果try语句中没有出现异常对象,那么else语句会被执行
    如果try语句中有出现异常对象,就算被解决了,else语句也不会被执行
    raise:手动抛出一个异常对象, 格式:
    raise 异常类型([信息描述])
    with:语法糖的一种,不用我们认为的去关闭文件对象了
    异常处理的三种格式:
    格式一:
    try:
    可能出现异常的代码
    except 异常类型1 as 变量名:
    处理异常的代码
    except 异常类型2 as 变量名:
    处理异常的代码
    except 异常类型3 as 变量名:
    处理异常的代码
    ....
    except Exception as 变量名:
    处理异常的代码
    finally:
    一定要被执行的代码
    格式二:
    try:
    可能出现异常的代码
    except (异常类型1, 异常类型2, 异常类型3,...) as 变量名:
    处理异常的代码
    finally:
    一定要被执行的代码
    格式三:
    try:
    可能出现异常的代码
    except 异常类型1 as 变量名:
    处理异常的代码
    except 异常类型2 as 变量名:
    处理异常的代码
    ...
    except:
    处理异常的代码
    finally:
    一定要被执行的代码
    4).注意事项
    ①.对于异常的处理不能解决基本的语法错误,except无能为力
    ②.在异常处理的代码中可以并列存在多个except语句,但是小类型应该定义在大类型的上面
    否则小类型的处理代码永远不会被执行到了
    ③.在异常处理的代码中可以并列存在多个except语句,扫描一旦得检测到了异常对象,
    会先调用第一个except去匹配,如果匹配到了,就捕获处理了;后续的except语句都不会再被执行了
    如果没有被匹配上,再依次往后匹配;
    ④.对于except:这种写法的捕获器,它可以认为是Exception的简化版,
    只能定义在最后一个except,否则编辑都过不了
    ⑤.try语句可以不跟except语句配合使用,但是一般都会配合使用
    ⑥.如果在try语句中有return关键字,并且有finally语句,
    那么会先执行到finally中的代码,然后再回到try中立刻去执行return的返回
    那么else中的代码就不能被执行了

    总结:对于异常的学习,我们主要就是学这几个关键字:try、except、finally、else、raise、with

    相关文章

      网友评论

          本文标题:异常处理

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