小编典典

例外-立即投掷并接住

java

抛出异常并直接捕获它只是为了打印错误是否有意义?

if(...){

} else {
   try{
      throw new Exception();
   } catch (Exception e){
      e.printStackTrace();
   }
}

阅读 221

收藏
2020-11-26

共1个答案

小编典典

无需抛出并捕捉,您可以简单地调用:

new Exception().printStackTrace();

甚至更简单:

Thread.dumpStack();

您还可以从当前线程获取堆栈跟踪作为数组:

StackTraceElement[] trace = Thread.currentThread().getStackTrace();

如果要执行更详细的操作,例如在运行时检查堆栈(例如,获取调用方法的名称)。

2020-11-26