You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自定义类抛出WeekDayError异常未生效问题排查

错误原因

你编写的代码中WeekDayError()仅完成了异常类的实例化操作,并未主动触发异常抛出流程。Python中必须使用raise关键字才能主动抛出异常,只有被raise触发的异常才会被外层的except语句捕获匹配。

修复方案

将判断分支内的代码修改为如下内容即可:

if day not in Weeker.list:
    raise WeekDayError()
完整可运行代码
class WeekDayError(Exception):
    pass
    

class Weeker:
    list=["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]

    def __init__(self, day):
        if day not in Weeker.list:
            raise WeekDayError()

try:
    weekday = Weeker('Monday')
    print(weekday)
except WeekDayError:
    print("Sorry, I can't serve your request.")

内容的提问来源于stack exchange,提问作者Harald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:24:03