kaylil_01 Asked:2022-02-08 05:47:36 +0000 UTC2022-02-08 05:47:36 +0000 UTC 2022-02-08 05:47:36 +0000 UTC 如何摆脱特殊情况? 772 假设我有某种任务处理程序 - JobExecutor,它接收一些任务和一组需要在任务完成之前和之后执行的命令(钩子),但是有一个命令,如果它成功通过,应该不允许任务运行,因此,所有命令都会为我返回一个标志,它们是否应该中断任务,我想摆脱这种特殊情况。没有flag怎么办? java 1 个回答 Voted Best Answer KoVadim 2022-02-08T16:29:38Z2022-02-08T16:29:38Z 最简单的方法是抛出一个异常。并且所有命令都包装在一个通用的 try 块中。对于这种情况,您可以创建单独的异常类型。现在从任何级别都可以传输“消息”。在 catch 块中,为这种情况添加另一个块。 第二种方法是将“上下文”对象传递给每个任务。并且在这个上下文中,存储各种有用的信息——是否写详细的日志等等。包括您可以存储“继续下一个”标志。为了不做不必要的内聚,可以将此上下文对象区分为接口。 第三种方法是创建一个负责此的中间类或接口。这种方法将简单地消除重复代码的需要。
最简单的方法是抛出一个异常。并且所有命令都包装在一个通用的 try 块中。对于这种情况,您可以创建单独的异常类型。现在从任何级别都可以传输“消息”。在 catch 块中,为这种情况添加另一个块。
第二种方法是将“上下文”对象传递给每个任务。并且在这个上下文中,存储各种有用的信息——是否写详细的日志等等。包括您可以存储“继续下一个”标志。为了不做不必要的内聚,可以将此上下文对象区分为接口。
第三种方法是创建一个负责此的中间类或接口。这种方法将简单地消除重复代码的需要。