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


相关推荐

  • android加密设备,用于Android手机的加密设备和加密外部SD卡

    android加密设备,用于Android手机的加密设备和加密外部SD卡电话被盗或丢失后,隐私将被泄露.Android手机具有“加密设备”和“加密外部SD卡”功能.那么这两个功能有什么区别?加密设备加密设备后,内置SD卡上的所有数据将被加密.此部分主要用于保护和SMS的隐私.加密设备后,即使将设备重置为出厂设置也无法解密数据.加密的外部SD卡加密外部SD卡可以保护SD卡上的所有数据.这部分数据主要用于保护用户的某些图片和私人文件,并防止照片.如果未解密加…

    2022年5月16日
    41
  • 详解Java异或运算符

    详解Java异或运算符文章原地址目录目录 性质 应用举例 其他用途示例 异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个二进制位同值则取0,异值则取1.简单理解就是不进位加法,如1+1=0,0+0=0,1+0=1.Forexample:3^5=6转成二进制后就是0011^0101二号位和三号位都是异值取1末尾两个1同值取零,…

    2022年9月27日
    0
  • webservice配置_webService

    webservice配置_webService今天看了一下webService,写了一个测试,在测试的途中遇到一些问题。记录一下。。。Service端的代码packagecom.test.ws;importjavax.jws.WebMethod;importjavax.jws.WebService;@WebServicepublicinterfaceHelloWS{ @WebMethod publicStringsayHell…

    2022年9月13日
    0
  • python到底是什么类型的语言

    python到底是什么类型的语言写程序方便对做机器学习的人来说非常重要,因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,而Python语言则可以用更少的时间来实现,因此Python语言几乎成为了人工

    2022年7月5日
    18
  • 0范数 无穷范数 上确界[通俗易懂]

    无穷范数——向量中最大元素的绝对值0范数——向量中非0的元素的个数(或#表示)1范数参考上篇文章:范数概念 “上确界”的概念是数学分析中最基本的概念。考虑一个实数集合M.如果有一个实数S,使得M中任何数都不超过S,那么就称S是M的一个上界。  在所有那些上界中如果有一个最小的上界,就称为M的上确界。  一个有界数集有无

    2022年4月8日
    95
  • 14个简单有用的android源码,适合初学者

    1:查看是否有存储卡插入String status=Environment.getExternalStorageState();if(status.equals(Enviroment.MEDIA_MOUNTED)){ ;//说明有SD卡插入}2:让某个Activity透明在OnCreate 中不设Layout,然后this.setTheme(R.style.Th

    2022年3月9日
    41

发表回复

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

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