3个回答
展开全部
异常是逐级上报的。
当调用的方法抛出异常,而当前方法没有异常处理的话,异常信息会提交给调用这个方法的方法,在改方法中如果有异常处理,则正常处理,如果还没有,那么继续上报给上一级调用这个方法的方法,继续找异常处理,直到上报到有异常处理的方法,或都没有直接交给JVM处理
比如:
A方法 -> 调用 -> B方法 -> 调用 -> c方法 -> 调用 -> d方法 -> 调用 -> e方法
若e出现异常且未捕获异常(就是try-catch),则将异常抛给d,若d捕获异常了,就处理,未捕获就将异常抛给c,在c中继续找是否捕获了,未捕获抛给b,以此类推,直到找到捕获了异常的方法位置,如果到a也没有捕获异常,则交给JVM
当调用的方法抛出异常,而当前方法没有异常处理的话,异常信息会提交给调用这个方法的方法,在改方法中如果有异常处理,则正常处理,如果还没有,那么继续上报给上一级调用这个方法的方法,继续找异常处理,直到上报到有异常处理的方法,或都没有直接交给JVM处理
比如:
A方法 -> 调用 -> B方法 -> 调用 -> c方法 -> 调用 -> d方法 -> 调用 -> e方法
若e出现异常且未捕获异常(就是try-catch),则将异常抛给d,若d捕获异常了,就处理,未捕获就将异常抛给c,在c中继续找是否捕获了,未捕获抛给b,以此类推,直到找到捕获了异常的方法位置,如果到a也没有捕获异常,则交给JVM
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |