由于令牌错误,我试图处理Javaparser库产生的异常。我使用了以下代码。
String content=getTheSource();
ByteArrayInputStream bin=new ByteArrayInputStream(content.getBytes());
try
{
CompilationUnit cu=JavaParser.parse(bin);
} catch (Exception e) {
// TODO Auto-generated catch block
//e.printStackTrace();
//my handling code here
}finally{
bin.close();
}但是,这个异常从未被捕获,我正在从其他地方得到一个不同的异常。我有个例外:
线程"main“japa.parser.TokenMgrError中的异常:第1行第16列中的词法错误。遇到:"#”(35),japa.parser.ASTParserTokenManager.getNextToken(ASTParserTokenManager.java:2247) at japa.parser.ASTParser.jj_ntk(ASTParser.java:9986) at japa.parser.ASTParser.ClassOrInterfaceBody(ASTParser.java:926) at japa.parser.ASTParser.ClassOrInterfaceDeclaration(ASTParser.java:604) at japa.parser.ASTParser.TypeDeclaration(ASTParser.java:524) at japa.parser.ASTParser.CompilationUnit(ASTParser.java:269) at japajapa.parser.JavaParser.parse(JavaParser.java:94) at misc.CompileTest.main(CompileTest.java:45)的.parser.JavaParser.parse(JavaParser.java:81)
知道吗,怎么处理异常?提前感谢
发布于 2016-12-23 14:00:36
顾名思义,TokenMgrError是一个错误。因此,您必须捕获一个错误而不是异常。如果您想同时捕获错误和异常,可以使用Throwable代替。
最初,这个错误是由JavaCC程序使用的JavaCC (TokenMgrError)抛出的。
发布于 2017-08-10 15:28:55
从版本3开始,JavaParser将/不应该再抛出此错误。
https://stackoverflow.com/questions/18708010
复制相似问题