我正在尝试识别在catch块中发生throw语句的情况。例如:
catch(MyException e){
throw e;
}
catch(Exception e){
throw new AnotherType();
}
是否可以访问每个catch块的显式开始/结束范围来迭代其单位以检查是否存在throw语句?我怎么能这样做?
答案 0 :(得分:1)
查看你的标签我假设你正在使用Soot。
您可以使用正在查看的JimpleBody的陷阱来确定语句是否在try / catch块中。只需调用body.getTraps()。
答案 1 :(得分:0)
如果您只想将此作为静态代码分析,我建议您在IDE的查找操作中使用正则表达式来定位catch括号内的throw的任何实例。 IntelliJ当然支持。