【发布时间】:2015-02-26 22:31:08
【问题描述】:
我是一名 Java 开发人员,但我在软件架构方面还没有很多经验。
我有以下情况。我正在创建一个批处理应用程序(一个运行到 shell 中的命令行应用程序),因此它是从定义到 Main() 类中的 main() 方法开始的。
在这个 main() 方法中,我创建了其他类的一些对象实例,这些对象执行某些操作(例如在 DB 上执行查询、创建 PDF 等),因此应用程序可能会失败。
如果应用程序没有失败(一切都按预期进行),main() 方法以 exit code = 0 结束。
我希望如果应用程序失败(在任何时候)返回的退出代码是 -1。
所以现在我不知道该如何处理这种情况。
例如,如果进入 main() 方法我有这样的东西:
// Create DAO object:
FatturaDAO fatturaDAO = new FatturaDAO(conn);
listaFatture = fatturaDAO.getListaFatturePDF(partitaIVA);
我在其中创建和使用 DAO 对象。现在考虑 FatturaDAO 对象出现故障(例如连接丢失并引发异常)的情况。
如何正确处理这种情况?
我有 2 个想法,但我不知道什么是最好的解决方案:
-
我在我的代码中放置了一些 try catch 块,因此如果出现故障,它会进入处理它的 catch 块执行:
System.exit(-1); -
如果发生故障,它会进入 catch 块,而不是退出会抛出一个自定义异常,该异常会返回到执行的 main() 方法:
System.exit(-1);
或者我可以用其他更聪明的方式处理这些情况吗?
【问题讨论】:
标签: java jakarta-ee exception architecture exception-handling