Python 在类之间发送失败消息

Python 在类之间发送失败消息,python,exception-handling,communication,Python,Exception Handling,Communication,好的,这实际上只是一个概念性的问题,我遇到了一些麻烦,而不是编码问题。我正在构建一个简单的每周时间跟踪器,以自动化游戏中的一些管理。所以,我有一个时间表类和一个时间表类。这是一个带有注释的时间表类,我不知道该怎么做 class Timesheet(): def __init__(self,person,week): self.person = person self.week = week self.hours = 168

好的,这实际上只是一个概念性的问题,我遇到了一些麻烦,而不是编码问题。我正在构建一个简单的每周时间跟踪器,以自动化游戏中的一些管理。所以,我有一个时间表类和一个时间表类。这是一个带有注释的时间表类,我不知道该怎么做

class Timesheet():
    def __init__(self,person,week):
        self.person = person
        self.week = week
        self.hours = 168
        self.time_blocks = []

    def add_time_block(self,time_block):
    ##Test that the time_block actually fits in this week
        if sum([x.hours for x in self.time_blocks]) >= self.hours-time_block.hours:
            self.time_blocks.append(time_block)
        else: ##This is where I'm not sure what I should do.

这不是一个停止播放的错误,它可能是一个PEBKAC错误,所以我认为Exception类已退出。我想让时间表说“不”,而不将其耦合到特定的界面,这样我现在就可以使用CLI,但一旦我学会编写GUI,最终会添加GUI,或者一旦我喜欢3.0端口,就会添加web界面。这不应该破坏程序,但应该提醒用户他们尝试了一些无法完成的事情,他们需要在尝试插入之前缩短该时间段,修改一些其他时间段以使其适合,或者只提交他们的时间表,因为时间表已满。有哪些干净、优雅的方法可以做到这一点?

您可以提供一个事件侦听器界面,感兴趣的各方可以在该界面上注册以获取您在上面的else中生成的事件。拥有一个商定的事件接口允许您智能地对这些事件做出反应,例如拥有一个事件类型枚举或UserAlertEvent子类。

我将使用一个异常。您始终可以将CLI支持代码中的函数调用包装到try…except块中,并在该块中做出适当的反应;我认为使用这种方法没有缺点。

等等,也许我误解了异常的作用,因为我从来没有真正编写过具有任何错误处理的大型程序。异常不会停止编程的执行吗?如果我遇到异常,我不需要重新启动应用程序吗?一点也不,否则它们就没那么有用了:因此,所有时间表代码只需尝试例外并引发一个长周末的问题。然后由我的用户界面代码来处理这个错误。现在我想我明白了。。。