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

python自定义异常和主动抛出异常(raise)前言有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义异常只能由自己抛出。python解释器是不知道用户自定义异常是什么鬼的。raise语句主动抛出异常。格式:主动抛出异常终止程序raise异常名称(‘异常描述’)raiseRuntimeError(‘testError’)主动抛出这个异常,并加以解释。自定义异常pytho

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

有时候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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180819.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RowBounds分页_bootstrap 分页

    RowBounds分页_bootstrap 分页只要给接口增加一个RowBounds传输就可以了。//下面测试MyBatis自带的分页类RowBounds功能publicList<Role>findByRowBounds(@Param("roleName")Stringrolename,@Param("note")Stringnote,RowBoundsrowBounds);而映射文件不需要任何…

    2022年9月22日
    2
  • python强制删除文件夹_python删除文件夹下的文件保留但清空子文件夹

    python强制删除文件夹_python删除文件夹下的文件保留但清空子文件夹importosimportshutil#删除文件夹下的文件&&保留但清空子文件夹defdel_file(filepath):print(“hello”)listdir=os.listdir(filepath)#获取文件和子文件夹print(listdir)fordirnameinlistdir:dirname=filepath+”//”+dir…

    2022年5月18日
    42
  • linux命令mysql启动,在linux中启动mysql服务的命令

    linux命令mysql启动,在linux中启动mysql服务的命令用reboot命令重启linux服务器之后会导致mysql服务终止,也就是mysql服务没有启动。必须要重启mysql服务,否则启动jboss时会报有关数据库mysql方面的错误。命令如下:第一步:安装mysql,设置mysql的安装路径:mysql_install_db–user=mysql–datadir=/home/ems/tmp/mysql/data命令说明:上面的db-use…

    2022年5月13日
    42
  • android Activity的onPause()与onResume()[通俗易懂]

    android Activity的onPause()与onResume()[通俗易懂]官方文档地址:http://www.android-doc.com/training/basics/activity-lifecycle/pausing.html#Resume Pause和Resume一个Activity在一般的app使用中,前台的activity一般是会被视觉组件所遮住的,这就会导致activity的pause。举个例子,当一个半透明的activity打开的时候(就…

    2022年6月2日
    202
  • BP神经网络算法_bp神经网络算法流程图

    BP神经网络算法_bp神经网络算法流程图1、前馈神经网络、反馈神经网络、BP网络等,他们之间的关系前馈型神经网络:取连续或离散变量,一般不考虑输出与输入在时间上的滞后效应,只表达输出与输入的映射关系;在此种神经网络中,各神经元从输入层开始,接收前一级输入,并输入到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。常见的前馈神经网络有感知机(Perceptrons)、BP(BackPropagation)网络、RBF(

    2025年8月27日
    13
  • matlab库函数大全[通俗易懂]

    matlab库函数大全[通俗易懂]附录MATLAB函数参考附录1常用命令附录1.1管理用命令函数名功能描述函数名功能描述addpath增加一条搜索路径rmpath删除一条搜索路径demo运行Matlab演示程序type列出.M文件

    2022年7月17日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号