欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python自己编写一个异常

时间:2023-05-24

我们写程序时,经常碰到大红色的异常。你是不是很好奇那是怎么做到的呢?今天,小编就来教你如何编写:异常类!!!

为了确保你能顺利编写,你需要以下物品:

1.一台电脑

2.python3.x编辑器和解释器(最好是优质的python3.6~3.8编辑器,如vscode)

3.键盘和鼠标(触摸板)

如果你希望完成“变色的异常”,你还需要如下库:

1.colorama

如果你都准备好了,那我们就开始……编写代码!

定义类

我们需要写如下代码:

class Error(Exception): def __init__(self): pass def __str__(self): pass

笔记如下:

1.class创建类,异常类无需实例化

2.Exception是异常类的父类

3.__init__前后各有2条下划线

4.__str__前后各有2条下划线

5.pass是用于跳过的关键字(保留字)

“飘”出异常

在刚才代码的下方写上:

raise Error('我是一个异常')

笔记如下:

1.raise用于抛出异常

补上类!

在__init__中写上:

def __init__(self, text): self.text = text

在__str__中写上:

def __str__(self): return self.text

以下是笔记:

1.__str__函数中使用return而不是print

加点颜色怎么样?

快导入colorama吧!以下是完整代码:

from colorama import Foreclass Error(Exception): def __init__(self, text): self.text = text def __str__(self): return self.textprint(Fore.BLUE)raise Error('我是一个异常'+Fore.RESET)

这是效果:

我用的是vscode,pycharm也可以,IDLE不行。所以你知道为什么要优质编辑器了吧。

笔记如下:

1.colorama库用于给交互式窗口内的文字添加效果,使用Fore.x来设置颜色,Back设置背景色

2.如果要变回无效果,使用xxx.RESET

告诉你成功了

except关键字(保留字)用来捕捉异常,经常和try一起使用,有点像if-else。以下这个实例用于捕捉并在有异常时输出“您的异常”

这是代码:

class Error(Exception): def __init__(self, text): self.text = text def __str__(self): return self.texttry: raise Error('我是一个异常')except: print('您的异常')

大功告成!不过,笔记还没写:

1.try-except用于捕捉异常并作出反应(还记得pass吗,用它可以不做出反应)

如果你对小编今天的课程还满意的话,不要忘了点赞加关注,下期内容是和pygame弹球游戏有关的课程,不要忘了查看哦~pygame弹球游戏三件套https://download.csdn.net/download/Black_Ball/80262647

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。