速递!Python面向对象编程-自定义异常使用(二)

2023-04-19 17:05:05 来源: 腾讯云


(资料图)

此外,我们还可以在异常类中添加其他方法和属性来自定义异常类的行为和属性。

例如,在下面的示例中,我们添加了一个名为 get_error_message的方法,它返回异常的详细信息:

class CustomError(Exception):    def __init__(self, message, error_code):        self.message = message        self.error_code = error_code        def get_error_message(self):        return f"Error {self.error_code}: {self.message}"

我们还可以从内置的异常类(如 ValueErrorTypeError等)继承,以便在我们的异常类中添加自定义行为。

例如,下面的示例中,我们从 ValueError继承,将其命名为 InvalidInputError,并添加了一个名为 get_error_message的方法:

class InvalidInputError(ValueError):    def __init__(self, message, error_code):        super().__init__(message)        self.error_code = error_code        def get_error_message(self):        return f"Error {self.error_code}: {self.args[0]}"

在以上示例中,我们使用了 super()函数来调用父类的构造函数,并通过 self.args[0]来访问传递给异常构造函数的错误消息。

在实际编程中,我们可以根据需要定义自己的自定义异常类。要使用自定义异常类,请按以下步骤操作:

定义异常类。在异常类的构造函数中,我们可以指定异常消息或其他自定义属性。在代码中使用 raise语句抛出异常。在需要处理异常的代码块中使用 tryexcept块捕获异常,并根据需要处理异常。

下面是一个使用自定义异常的简单示例,它演示了如何在文件读取失败时处理异常:

class FileReadError(Exception):    passtry:    with open("non_existent_file.txt", "r") as f:        contents = f.read()except FileNotFoundError:    raise FileReadError("File not found.")except IOError:    raise FileReadError("Unable to read file.")

在以上示例中,我们定义了一个名为 FileReadError的自定义异常类,然后尝试打开一个不存在的文件。如果文件不存在或无法读取,则引发相应的异常。在这种情况下,我们将这些异常转换为我们自己定义的 FileReadError异常,并将其重新抛出,以便调用代码可以处理该异常。

关键词:

精选 导读

贸易、投资、基建:中国“三驾马车”带动拉美就业

导读:21世纪,中拉关系蓬勃发展,在就业领域取得显著成果。中国通过贸易、投资和基建合作等方式,在拉美和加勒比地区创造大量

发布时间: 2023-04-19 16:30
要闻   2023-04-19

【独家焦点】连续三年!金蝶位居高生产力aPaaS全球前十,中

日前,Gartner发布了《MarketShare:AllSoftwareMarkets,Worldwide,2022》报告。报告指出,在高生产力a

发布时间: 2023-04-19 16:10
要闻   2023-04-19

世界今日讯!平安证券:给予苏州银行买入评级

平安证券股份有限公司袁喆奇,黄韦涵,许淼近期对苏州银行进行研究并发布了研究报告《受益区域复苏,看好改革红利持续释放》,本

发布时间: 2023-04-19 16:00
要闻   2023-04-19

世界今日报丨常规赛“虫”季后赛的“龙”,说的正是莫兰德

常规赛“虫”季后赛的“龙”,说的正是莫兰德,辽篮,方硕,内线,张镇麟,曾凡博,尼尔斯·莫兰德,奥林匹克运动会

发布时间: 2023-04-19 15:22
要闻   2023-04-19

国家能源局废止→

4月19日,国家能源局发布公告,决定废止《国家能源局关于印发亚临界煤电机组改造、延寿与退役暂行规定的通知》(国能电力〔2

发布时间: 2023-04-19 15:27
要闻   2023-04-19

热点 推荐

速递!Python面向对象编程-自定义异常使用(二)

例如,在下面的示例中,我们添加了一个名为get_error_message的方法,它返回异常的详细信息:

发布时间: 2023-04-19 17:05
IT   2023-04-19

【环球新视野】滴滴自动驾驶卡车KargoBot亮相:一位司机同时

滴滴自动驾驶卡车KargoBot亮相:一位司机同时“开”多辆卡车

发布时间: 2023-04-19 16:26
国内   2023-04-19

贸易、投资、基建:中国“三驾马车”带动拉美就业

导读:21世纪,中拉关系蓬勃发展,在就业领域取得显著成果。中国通过贸易、投资和基建合作等方式,在拉美和加勒比地区创造大量

发布时间: 2023-04-19 16:30
要闻   2023-04-19

环球快播:微博月活用户达5.86亿 社交互动优势进一步深化

近日,2022年微博超级红人节在长沙举行。在V影响力峰会创作者成长论坛上,微博运营高级副总裁曹增辉公布了平台用户、内容生

发布时间: 2023-04-19 16:22
科技   2023-04-19

中国文艺评论家协会与中国东方演艺集团签署文艺评论合作备忘

近日,中国文艺评论家协会与中国东方演艺集团文艺评论合作备忘录签署仪式在京举行。根据备忘录,中国评协与中国东方演艺集团合作

发布时间: 2023-04-19 16:36
IT   2023-04-19

世界今头条!发改委发声,释放重要信息!

点蓝字关注,不迷路~国家发改委4月18日召开4月新闻发布会。(贺觉渊 摄)发改委新闻发言人孟玮就一季度经济运行亮点,下阶

发布时间: 2023-04-19 16:29
国内   2023-04-19

世界快资讯:未来3年推8款新能源车型 2023上海车展上汽荣威

(4月18日,上海)今日,第二十届上海国际汽车工业展览会在国家会展中心(上海)正式开幕。上汽荣威宣布,将依托“全新一代上汽星云纯电动系统

发布时间: 2023-04-19 16:11
汽车   2023-04-19

环球短讯!游江南名园,品诗情花韵,醉白池公园春季文化艺术

4月18日,上海醉白池公园春季文化艺术节暨“诗情花意·映象云间”2023杜鹃展揭幕,活动集赏花、观展、诗词、听戏、对弈等于一体,集中展示醉白

发布时间: 2023-04-19 16:20
国内   2023-04-19

【独家焦点】连续三年!金蝶位居高生产力aPaaS全球前十,中

日前,Gartner发布了《MarketShare:AllSoftwareMarkets,Worldwide,2022》报告。报告指出,在高生产力a

发布时间: 2023-04-19 16:10
要闻   2023-04-19

每日速讯:蒙娜丽莎(002918)盘中异动 股价振幅达6.99%

2023年04月19日14时21分,蒙娜丽莎(002918)股票出现波动,股价大幅跳水6 99%。截至发稿,该股报18 35元 股,成交量6 649万手,换手率

发布时间: 2023-04-19 16:13
科技   2023-04-19

要闻:健民集团(600976):该股换手率大于8%(04-19)

换手率大于8%说明了该股票当前处于比较活跃的局面,得到市场上资金的关注,如果在股价上涨途中,换手率5%,说明个股处于被拉升的状态,成交量

发布时间: 2023-04-19 16:08
IT   2023-04-19

世界今日讯!平安证券:给予苏州银行买入评级

平安证券股份有限公司袁喆奇,黄韦涵,许淼近期对苏州银行进行研究并发布了研究报告《受益区域复苏,看好改革红利持续释放》,本

发布时间: 2023-04-19 16:00
要闻   2023-04-19

全球今日报丨光洋股份:若有相关信息,公司将按信息披露要求

光洋股份(002708)04月19日在投资者关系平台上答复了投资者关心的问题。投资者:领导,您好!我来自大决策请问公司股

发布时间: 2023-04-19 15:54
科技   2023-04-19

异动快报:*ST博天(603603)4月19日14点15分触及跌停板

4月19日盘中消息,14点15分*ST博天(603603)触及跌停板。目前价格3 99,下跌5 0%。其所属行业环境治理

发布时间: 2023-04-19 15:57
IT   2023-04-19

世界速递!泰安市暨泰山区“百家开讲坛 万众享健康”泰山健

泰安日报社·中华泰山网讯(记者于冰冰通讯员尹爽审核陈茂荣)按照泰山区委“项目建设年”活动要求,推动健康泰山区行动建设,打造“泰山健康

发布时间: 2023-04-19 15:51
国内   2023-04-19

世界今日报丨常规赛“虫”季后赛的“龙”,说的正是莫兰德

常规赛“虫”季后赛的“龙”,说的正是莫兰德,辽篮,方硕,内线,张镇麟,曾凡博,尼尔斯·莫兰德,奥林匹克运动会

发布时间: 2023-04-19 15:22
要闻   2023-04-19

当前聚焦:遗憾!CBA顶薪球员怒砍0分0助,被主教练弃用 恐

遗憾!CBA顶薪球员怒砍0分0助,被主教练弃用恐就此告别男篮,杜锋,男篮,cba,广厦队,广东队,赵岩昊,胡金秋,中国篮球名人堂,CBA两队打假赛被顶格

发布时间: 2023-04-19 15:26
科技   2023-04-19

至少输广东20分!辽宁赢北京疯狂透支四大主力,保宏远进总决

至少输广东20分!辽宁赢北京疯狂透支四大主力,保宏远进总决赛!,疯狂,保宏,辽宁队,广厦队,广东队,北京队,郭艾伦,辽宁省,北京市,广东省,北京首钢队

发布时间: 2023-04-19 15:40
IT   2023-04-19

国家能源局废止→

4月19日,国家能源局发布公告,决定废止《国家能源局关于印发亚临界煤电机组改造、延寿与退役暂行规定的通知》(国能电力〔2

发布时间: 2023-04-19 15:27
要闻   2023-04-19

法治题材电视剧:法不容情亦有情

【文艺观潮】近日,《他是谁》等剧上线,作品的惊险剧情和演员的精湛演技点燃了观众对法治题材电视剧的热情。随着中国法治建设进

发布时间: 2023-04-19 15:24
科技   2023-04-19