有没有办法检查项目中main()内项目中是否发生任何异常,而不更改其他文件中的任何代码,只能在起始点。
由于 Noushad
答案 0 :(得分:0)
你不能。您需要修改其他类以向调用者抛出异常,以便您可以在main
中捕获异常并返回所需的退出代码。
答案 1 :(得分:-1)
从所有类的所有方法中抛出异常,并在Main
方法的catch
块中捕获它。记录异常,然后退出。
public static void main(String[] args)
{
try
{
ClassA.methodX();
ClassB.method();
}
catch(Exception e) //use specific exception class
{
e.printsttrace();
System.exit(1);
}
}
A类
class classA
{
public static void methodX() throws Exception
{
try{
//perform some operation
}catch(Exception e)
{
//throw exception from here.
}
}
答案 2 :(得分:-1)
写一个共同的"记录"函数并从任何相关的catch块调用它。如果您需要退出该计划,请使用System.exit
。
public class Defines {
public static LogException(Exception exception) {
...
if (ShouldExitFromException(exception))
System.exit(1);
}
}
代码中的其他地方:
try {
// some code
} catch (Exception exception) {
Defines.LogException(exception);
}
但这取决于你的其他捕获块实际上在做什么,说实话,这听起来都是个坏主意。记录异常可能没问题,因此您知道它们在何时何地发生,但即使是那些已经正确处理的程序也退出程序并不是一个好主意。