抛出异常并直接捕获它只是为了打印错误是否有意义?
if(...){
} else {
try{
throw new Exception();
} catch (Exception e){
e.printStackTrace();
}
}
答案 0 :(得分:3)
没有必要扔掉,你可以简单地打电话:
new Exception().printStackTrace();
甚至更容易:
Thread.dumpStack();
您还可以将当前线程的堆栈跟踪作为数组获取:
StackTraceElement[] trace = Thread.currentThread().getStackTrace();
如果你想做更详细的事情,比如在运行时检查堆栈(例如,获取调用方法的名称)。
答案 1 :(得分:1)
我认为只有当您明确要将Exception发送到带有LOGGER的日志文件(进入catch块)或者以特定方式注册它时,它才有用。