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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu系统下安装gcc

    ubuntu系统下安装gcc第一次发帖,规矩不是很懂,我就直接进入主题吧!首先找到software&update然后点击downloadfrom下拉列表点击other选择下载的服务器,找到china,选择中国代理服务器,博主选择的是华为的镜像云服务器mirrors.huaweicloud.com,点击chooseserver来到权限授予窗口,输入你的password(系统创建时候设…

    2022年7月24日
    14
  • linux下luajit安装

    linux下luajit安装#cd /usr/local/#wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz#tar zxvf LuaJIT-2.0.4.tar.gz编辑src/Makefile,注释DLUAJIT_ENABLE_LUA52COMPAT所在的行#make & make install

    2022年10月7日
    5
  • 总量指标的因素分析

    总量指标的因素分析

    2022年3月6日
    92
  • hdu 3336 Count the string(kmp应用)

    hdu 3336 Count the string(kmp应用)ProblemDescriptionItiswellknownthatAekdyCoinisgoodatstringproblemsaswellasnumbertheoryproblems.Whengivenastrings,wecanwritedownallthenon-emptyprefixesofthisstring.

    2022年7月23日
    8
  • ubuntu安装deb文件_ubuntu安装完deb后找不到

    ubuntu安装deb文件_ubuntu安装完deb后找不到下载deb包到找到下载目录sudodpkg-iXXX.deb如果提示没有依赖sudoapt-getinstall-f如果提示依赖下载源没有找到(404),请到systemsettings—software&updates—-ubuntusoftware的sourcecode勾选并设置downloadfromchina某源网站,再运行sudoapt-getinsta

    2022年8月30日
    4
  • eWebEditor漏洞[通俗易懂]

    eWebEditor漏洞[通俗易懂]各位站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就

    2022年7月4日
    26

发表回复

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

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