美文网首页
Python异常

Python异常

作者: 八步里 | 来源:发表于2021-04-21 20:46 被阅读0次
error

程序在执行过程中不可能一直一帆风顺,可能是由于程序员的疏忽出现程序设计问题或者是使用者没有按照规范执行程序,当发生异常的时候程序会停止执行并抛出异常,在控制台自动打印出异常信息。或者通过异常捕获机制捕获异常让程序继续执行下去,Python提供了try···except···else···finally···的错误处理机制,else中的内容是当try成功执行(无异常)时奖励执行的,而finally是无论如何都会执行的,但这两者都不是必要结构,该结构可以嵌套构建。
except后面没有加异常类型信息的时候就是对任何异常都进行捕获并处理,而有时需要针对不同的异常执行下一步操作,这时候可以设定异常类型并且设置多个except依次拦截。在Python中异常也是对象也存在有子父间关系,当异常抛出时需要有对应的exception类型来捕获,否则会持续向上抛出到调用函数,看看调用函数是否有相应的exception来捕获,到最后都没有的话依旧会导致程序停止,在控制台打印出信息。BaseException是所有异常类型的父类,所以except不指定异常信息等价于指定BaseException类型,对所有的异常均可以捕获。


异常类型的关系
def foo(s):
    n = int(s)
    try:
        if n == 0:
            raise ValueError('invalid value: %s' % s)
    except KeyError:
            print('KeyError!')
    return 10 / n

def bar():
    try:
        foo('0')
    except ValueError:
        print('ValueError!')

bar()

logging模块的exception方法可以打印出异常信息。

import logging
def foo(s):
    n = int(s)
    try:
        if n == 0:
            raise ValueError('invalid value: %s' % s)
    except KeyError:
            print('KeyError!')
    except BaseException as e:
        print("终极拦截")
        logging.exception(e)
        print("继续执行")
    return 10

def bar():
    try:
        foo('0')
    except ValueError:
        print('ValueError!')

bar()

结果为:

终极拦截
>ERROR:root:invalid value: 0
>Traceback (most recent call last):
    File "<ipython-input-26-32c1733ed41b>", line 6, in foo
      raise ValueError('invalid value: %s' % s)
  ValueError: invalid value: 0
>继续执行

相关文章

  • 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/weyfhktx.html