关于 aticvoidtest()throwsRuntimeException{ y{ (“test”); rownewRuntimeException();15.} ch(Exceptionex){int(“exception”);}17.}18.publicstaticvoidmain(String[]args){ y{test();} ch(RuntimeExceptionex){int(“runtime”);} (“end”);22.}14行抛出的异常被16行搞定了那么11行抛出的异常呢为什么不会被20行搞定呢……的问题
11行还会抛出RuntimeException吗?应该不会吧,你已经把14行抛出的RuntimeException给catch了,11行还怎么抛出RuntimeException?你既捕获异常又抛出异常(RuntimeException),这样写的话肯定不会再抛出这个异常了,因为你已经捕获了。如果你想让20行也捕获到RuntimeException,那在你的16行catch块里再抛出一个异常,throw new RuntimeException(“抛出新的RuntimeException”);然后在20行catch块里添加 intln( tMessage());这样就能看到效果了。