美文网首页
7.Python-异常和警告

7.Python-异常和警告

作者: Yuri7 | 来源:发表于2019-06-17 16:12 被阅读0次

异常

try & except 块

一旦 try 块中的内容出现了异常,那么 try 块后面的内容会被忽略,Python会寻找 except 里面有没有对应的内容,如果找到,就执行对应的块,没有则抛出这个异常。

查看异常类别:dir(_builtins_)

异常类名 描述 异常类名 描述
BaseException 所有异常的基类 KeyError 映射中不存在此键
Exception 常规异常的基类 NameError 找不到名字(变量)
AttributeError 对象不存在此属性 SyntaxError Python语法错误
IndexError 序列中无此索引 TypeError 对类型无效的操作
IOError 输入输出操作失败 ZeroDivisionError 除(或取模)运算的第二个参数为0
KeyboardInterrupt 用户中断智行(通常输入Ctr-C) ValueError 传入无效的参数

捕捉不同的错误类型

将except 的值改成 Exception 类,来捕获所有的异常

while True:
    try:
        ...
    except Exception:
        print "..."

捕指定特定异常值

    except  (ValueError, ZeroDivisionError):
        print "..."
#等同
    except ValueError:
        print "..."
    except ZeroDivisionError:
        print "..."

使用 except Exception 时,会捕获所有的 Exception 和它派生出来的子类,但不是所有的异常都是从 Exception 类派生出来的,可能会出现一些不能捕获的情况,因此,更加一般的做法是使用这样的形式:

try:
    pass
except:
    pass

finally

不管 try 块有没有异常, finally 块的内容总是会被执行,而且会在抛出异常前执行,因此可以用来作为安全保证,比如确保打开的文件被关闭。

try:
    print 1 / 0
except ZeroDivisionError:
    print 'divide by 0.'
finally:
    print 'finally was called.'
#out: divide by 0. finally was called.

警告

出现了一些需要让用户知道的问题,但又不想停止程序,可以使用警告。
在需要的地方用 warnings 中的 warn 函数: warn(msg, WarningType = UserWarning)
想要忽略特定类型的警告,用 warnings 的 filterwarnings 函数:
filterwarnings(action, category)

相关文章

  • 7.Python-异常和警告

    异常 try & except 块 一旦 try 块中的内容出现了异常,那么 try 块后面的内容会被忽略,Pyt...

  • @SuppressWarings注解

        首先要讲明的一点,警告不是异常和错误,你可以不管这些警告,这些警告是由编译器产生的。      一般在项目...

  • #“和谐”# 我特别爱我的国家,所以我好难受。

    封号的封号 秒删的秒删 警告的警告 不是近期的存在 而是一直和往往 只是这段时间异常的环境 被看见 我们从来就生活...

  • ios琐碎笔记

    抛出异常&异常处理 NSInvocation执行多参数方法 强制消除Xcode警告 UI控件对齐方式属性 UINa...

  • compileSdkVersion, minSdkVersion

    compileSdkVersion:项目的编译版本,在编译过程中给出警告、异常。(建议用最新的,用于处理代码异常)...

  • Python 怎么捕获警告?(注意:不是捕获异常)

    1. 警告不是异常 你是不是经常在使用一些系统库或者第三方模块的时候,会出现一些既不是异常也不是错误的警告信息? ...

  • 〖壹·Lethal Kiss〗

    “警告,警告,动物体实验出现死亡。” “细胞结构变异,出现异常遗传片段。” 警报声大作,伴随着时明时灭的刺眼灯光。...

  • iOS pod install时,遇到了Insecure wor

    今天pod install时,遇到了Insecure world writable dir的异常警告,本着好记性不...

  • python unittest.TestCase 断言方法

    1、最常见断言方法 2、T与异常、错误、警告和日志相关的断言方法 3、用于完成某种特定检查的断言方法 4、针对特定...

  • unity3d异常和错误处理的例子

    1.U3D经常莫名奇妙崩溃。 一般是由于空异常造成的,多多检查自己的引用是否空指针。 2.编码切换警告提示。 警告...

网友评论

      本文标题:7.Python-异常和警告

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