美文网首页小教程收藏
python自定义异常和主动抛出异常(raise)

python自定义异常和主动抛出异常(raise)

作者: skullfang | 来源:发表于2018-01-08 16:10 被阅读6177次

前言

有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义异常只能由自己抛出。python解释器是不知道用户自定义异常是什么鬼的。

raise语句

主动抛出异常。
格式:
主动抛出异常终止程序
raise 异常名称('异常描述')

raise RuntimeError('testError')
image.png

主动抛出这个异常,并加以解释。

自定义异常

python的异常分为两种.
1、内建异常,就是python自己定义的异常。
2、不够用,用户自定义异常,
首先看看python的异常继承树


image.png

我们可以看到python的异常有个大基类。然后继承的是Exception。所以我们自定义类也必须继承Exception。

#最简单的自定义异常
class FError(Exception):
    pass

抛出异常、用try-except抛出

try:
    raise FError("自定义异常")
except FError as e:
    print(e)
   
image.png

在这里给一个简单的自定义异常类模版。

class CustomError(Exception):
    def __init__(self,ErrorInfo):
        super().__init__(self) #初始化父类
        self.errorinfo=ErrorInfo
    def __str__(self):
        return self.errorinfo
    
if __name__ == '__main__':
    try:
        raise CustomError('客户异常')
    except CustomError as e:
        print(e)
image.png

相关文章

  • python - 自定义异常和主动抛出异常(raise)

    python自定义异常和主动抛出异常(raise)

  • Python自定义异常与抛出异常

    目录 自定义抛出异常raise 自定义异常类 自定义抛出异常函数--raise 将信息以报错的形式抛出 用法:ra...

  • python自定义异常和主动抛出异常(raise)

    前言 有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义...

  • Python中raise和assert的区别

    一、使用raise抛出异常 python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使...

  • 9. 异常

    基于网络课程《Python全栈开发专题》 记录笔记,请支持正版课程。 raise抛出异常 自定义异常类 捕捉异常 ...

  • 实例:python用raise自定义异常处理类型

    在python的编程实战开发当中,我们可以用raise关键字来主动抛出异常,用于日志的记录,而且可以抛出我们自定义...

  • Python Debug

    1. 异常: 1.1 抛出异常 使用raise关键字抛出异常 1.2 捕获异常 2. 断言 禁用断言python ...

  • 异常抛出

    本章主要内容 用try语句捕获异常 常见异常处理 用raise 和assert抛出异常 自定义异常 常用异常名 总...

  • Python异常处理

    本节课纲: 异常的概念 捕获异常 异常的传递 抛出raise异常 自定义异常 一、异常的概念 程序在运行时,如果 ...

  • 异常处理

    Exception:Python 内置的异常类 raise:抛出异常 try:尝试运行以下语句 except:在 ...

网友评论

    本文标题:python自定义异常和主动抛出异常(raise)

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