如果发生异常,它会被catch块捕获,但不会被抛弃。框架是否有办法知道存在异常?
背景(原因):我们必须重新制作以前的项目并添加异常处理。但是,许多例外都没有被抛弃。
非常感谢!
//for example
private void handle() {
try{
int i = 5/0;
}catch(Throwable e){
;//here the e is not throwed
}
}
答案 0 :(得分:1)
这可能是可以实现的,但并非没有黑客攻击。例如,您可以使用AspectJ为Throwable
构造函数提供代码,该代码将注册异常实例化事件。这与实际投掷它们不同,但这是一个很好的近似。关键优势在于,通过这种方法,您只有一个地方可以进行干预。
请注意,使用此方法肯定会产生很多噪音,因为异常会在许多地方合法地抛出并在本地捕获,包括JDK本身。