从 main class 抛出异常?

Throwing an exception from main class?

在我的代码中,我将对象实例化包围在一个 try catch 块中,因为它们会抛出错误,我实例化了许多对象,因此我的代码看起来非常混乱。我想知道是否可以从我的 main class 中抛出异常,或者这是一种不好的做法?

从您的入口点(在本例中为您的 main 方法)抛出异常是可以的,除非您能想到不这样做的具体原因("the user shouldn't see that","it would be better if I tried to recover, rather than exiting").

如果你能处理异常,你应该这样做。例如,您可以记录它们,将它们作为更易于理解的异常(例如验证异常)重新抛出,或者通过返回 null 退出该方法。如果处理它们没有意义,那就不要处理。

您可能需要对相似的异常进行更好的分组。您可以将这些 try-catch 块内的所有代码移动到一个私有方法中(可能是 init),这会抛出所有相关的异常。然后,从 main 方法调用 init,并将该 init 调用包装在一个 try-catch 块中以捕获所有这些异常。