美文网首页
python错误捕获

python错误捕获

作者: 酒深巷子Ya | 来源:发表于2018-06-05 16:45 被阅读8次
python 错误捕获:try...except...finally...

程序在运行的过程中,不可避免的总要出现错误,和其它语言一样,python提供了一套错误捕获机制:try...except...finally... 例如:

def division(x, y):
    try:
        result = x / y
        return result
    except ZeroDivisionError:
        print('***************** y = ', y)
    except TypeError:
        print('************* 类型不对')
    finally: #finally 始终会执行
        print('end ...')
print(division(2, '3'))

上述事例中执行到: result = x / y 由于传入的y是字符串,(算术运算只是是int 或 float 类型) 则会执行except TypeError: 打印************* 类型不对 然后执行finally ,return result则不会执行。

抛出错误:因为错误本身是一个类,捕获一个错误就是捕获到该类的一个实例。Python的内置函数会抛出很多类型的错误,我们也可以自定义错误类型。

如果要抛出错误,首先根据需要,可以定义一个错误的类,选择好继承关系,然后,用raise语句抛出一个错误的实例,例如:

class Invalid(ValueError):
    pass

def division(x, y):
    try:
        result = x / y
        return result
    except Exception as e:
        raise Invalid('非法输入', y)
    finally:
        print('end ...')

print(division(2, '3'))
  • 抛出错误:

Traceback (most recent call last):
File "Test.py", line 15, in <module>
print(division(2, '3'))
File "Test.py", line 11, in division
raise Invalid('非法输入', y)
main.Invalid: ('非法输入', '3')

错误记录:使用logging模块,通过配置,logging还可以把错误记录到日志文件里。
import logging

def division(x, y):
    try:
        result = x / y
        return result
    except Exception as e:
        logging.exception(e)
    finally:
        print('end ...')
print(division(2, '3'))

相关文章

  • Python的错误处理try...except...finall

    捕获错误 错误有很多类型,可以有多个except捕获错误: Python的错误其实也是class,所有的错误类型都...

  • python错误捕获

    python 错误捕获:try...except...finally... 程序在运行的过程中,不可避免的总要出现...

  • Python异常处理

    Python异常处理 一、捕获异常 1.异常捕获语法 2.错误类型捕获 except:处理所有异常。except ...

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

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

  • python错误、调试和测试

    错误处理 try与其他语言一样,python也有错误捕获的功能 Python的错误其实也是class,所有的错误类...

  • 19.介绍一下except的用法和作用?

    Python的except用来捕获所有异常, 因为Python里面的每次错误都会抛出 一个异常,所以每个程序的错误...

  • Python面向对象2

    异常 捕获异常image.png根据错误类型捕获异常image.png 未知错误捕获image.png 捕获异常完...

  • 关于错误

    错误分类 及时运行错误:代码错误 资源加载错误 错误的捕获方式 运行时错误的捕获1、try..catch 2、wi...

  • 错误监控

    前端错误的分类 即时运行错误(代码错误) 资源加载错误 错误的调试方式 错误的捕获方式 即时运行错误的捕获方式 t...

  • 第十七章 错误处理与调试

    1.处理JavaScript错误的方法: ①捕获错误:try-catch语句 ②抛出错误:throw操作符 捕获错...

网友评论

      本文标题:python错误捕获

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