什么是回滚?
public class Library { public void library(){ Scanner input=new Scanner(System.in); try{ System.out.println("输入命令:1。按照名称查找图书;2.按照序号查找图书"); int index=input.nextInt(); if(index==1){ test(); }else if(index==2){ test2(); }else{ System.out.println("请按照序号输入!"); library(); } }catch(InputMismatchException e){ RuntimeException newExc=new RuntimeException("输入不匹配!"); newExc.initCause(e); library(); throw newExc; } }
1.在library()中再次调用library()方法,就是所谓的回滚吗?后面的代码是不是不再执行了?
2.回滚的意思是不是,在一个方法中再次调用他自己,以返回到方法之初。
3.throw语句是不是必须放在代码块的最后才行?这个代码我为了将学过的内容运用一下,加了不必要的异常包装,但是和再次调用library()发生了冲突。throw放在最后,但是执行不了。放在前面,编译又不允许。