如何在Java注释处理过程中发生错误时打印堆栈跟踪

如何在Java注释处理过程中发生错误时打印堆栈跟踪,java,annotation-processing,annotation-processor,Java,Annotation Processing,Annotation Processor,我正在开发一个有注释处理器的。为了捕获异常,我编写了类似于以下代码的代码: public class KriptonProcessor extends AbstractProcessor { @Override public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) { try { ...

我正在开发一个有注释处理器的。为了捕获异常,我编写了类似于以下代码的代码:

public class KriptonProcessor extends AbstractProcessor {

  @Override
  public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
    try {
        ...
        return true;
    } catch (Throwable e) {
        String msg = StringUtils.nvl(e.getMessage());
        error(null, e.getClass().getCanonicalName() + ": " + msg);
        e.printStackTrace();

    }

    return true;
  }
}
虽然我希望得到完整的堆栈跟踪,但这对于检测问题的位置很有用。完成这项任务有什么想法吗

提前感谢。

公共类KriptonProcessor扩展了AbstractProcessor{
public class KriptonProcessor extends AbstractProcessor {

  @Override
  public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
    try {
        ...
        return true;
    } catch (Throwable e) {
        e.printStackTrace();
        return false;

    }

    return true;
  }
}
@凌驾
公共布尔进程(最终设置)您是否能够使用调试器在catch块中放置断点?您应该能够检查Throwable对象的内容以检查回溯。否,错误发生在编译时。断点在程序内工作。然后不会抛出
Throwable
public class KriptonProcessor extends AbstractProcessor {

  @Override
  public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
    try {
        ...
        return true;
    } catch (Throwable e) {
        e.printStackTrace();
        return false;

    }

    return true;
  }
}