• Python 教程阅读笔记(七):错误和异常


    有两种错误:语法错误和异常

    在执行时发现的错误称为异常,并不是无条件致命的

    处理异常:

    try:

    clause1

    except  Reason:

    clause2

    else :

    clause 3

    首先在try和except之间的语句执行,如果没有异常发生,except语句被略过。如果发生异常,剩下的语句将跳过。如果类型与except后的关键字有匹配的,则执行相应语句,然后再接着执行try后面的语句,如果没有匹配的,将传递到try语句的外层,如果仍无法处理,则为未处理异常。

    一个 except 中可以包含多个 异常。也可以有多个异常语句。最后一个except可以不包含异常名,而作为一个通配项。

    异常语句可以在异常名后面指定变量。变量属于异常实例,参数存在instance.args中。方便起见,异常定义了__str__()这样参数就可直接被打印而不需要引用.args。可以在抛出异常前实例化异常,增加任何想要的属性。

    raise语句用来强制抛出指定异常,如果想抛出异常而不处理,可直接使用raise

    用户自定义异常:通过创建新的异常类来命名自己的异常。异常通常是由Exception类直接或间接的导出的。异常类可以做其他任何类相同的事,但通常只提供一个属性,允许错误信息在异常时被对应的处理子抽取。__init__()   __str__()

    try:

    clause

    finally:

    clause

    finally语句用来在将要离开try语句前执行,不管异常是否发生。当异常发生时,且没有被处理时,将在finally执行完后重新被抛出。 任何其他的语句导致退出try语句如break,continue,return都会执行finally语句。 finally一般用于释放资源

    预定义的清除动作需要使用with语句,with语句保证像文件一样的对象能够被合理并正确的被清除

  • 相关阅读:
    网页版微信无法登录的解决办法
    pycharm运行过程中pycharm控制台和python控制台之间的切换
    随机梯度下降
    K-means聚类
    ubuntu16.04下安装.deb安装包
    过拟合和欠拟合
    从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
    CAJViewer 去除右上角闪动的图标
    C# 的时间戳转换
    网页底部广告 可关闭
  • 原文地址:https://www.cnblogs.com/westwind/p/2505475.html
Copyright © 2020-2023  润新知