问题描述
classDemo{publicstaticvoidfunc(){try{thrownewException();}catch(Exceptione){System.out.println("B");}}publicstaticvoidmain(String[]args){try{func();}catch(Exceptione){System.out.println("C");}System.out.println("D");}}这个的结果是打印出了BD我一开始认为它编译不会成功,因为觉得func()方法内有一个thrownewException(),那么方法上应该有thorws声明;而且不明白为什么接受这个newException()的是func()函数里的catch而不是主函数里的catch。然后想了想可能是,func()函数就是创建一个newException并抛出,然后接收这个异常并处理它,因为异常在函数内处理了所以不用对外声明。不知道这说法对不对,我刚开始学基础,哪位好心人能给个答案吗,拜谢
解决方案
解决方案二:
你说的没错,func()自己处理掉了异常,没有向外抛出
时间: 2024-10-13 09:17:19