为了账号安全,请及时绑定邮箱和手机立即绑定

一般catch到异常后,需要回滚到之前的程序。常用的方法有些啥啊?

只能想到 while break; 和 go to 有没有比较精妙的方法啊?求分享

正在回答

2 回答

package com.Exception;

import java.*;

import java.util.Scanner;


public class Library {

public void library(){

System.out.println("输入命令:1。按照名称查找图书;2.按照序号查找图书");

try{

Scanner input=new Scanner(System.in);

int a=input.nextInt();

if(a==1){

library1();

}else if(a==2){

library2();

}else{

System.out.println("命令输入错误,请根据提示输入数字命令!(1或2)");

library();//异常处理,回滚重新输入

}

}catch(Exception e){

System.out.println("命令输入错误,请根据提示输入数字命令!");

library();

}

}

public void library1(){

System.out.println("输入图书名称:");

try{

Scanner input=new Scanner(System.in);

String name=input.next();

for(int i=0;i<Books.book.length;i++){

if((Books.book[i].getName()).equals(name)){

System.out.println("book:"+name);

break;

}

}

}catch(Exception e){

System.out.println("图书不存在!");

library();

}

}

public void library2(){

System.out.println("输入图书序号:");

try{

Scanner input=new Scanner(System.in);

int num=input.nextInt();

for(int i=0;i<Books.book.length;i++){

if((Books.book[i].getNum())==(num)){

System.out.println("book:"+Books.book[i].getName());

break;

}

}

}catch(Exception e){

System.out.println("图书不存在!");

library();

}

}

}


0 回复 有任何疑惑可以回复我~
#1

Goldberg 提问者

晓得了 这样是方便很多,十分感谢
2016-02-19 回复 有任何疑惑可以回复我~

我觉得我很多基础,还是不扎实~

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

一般catch到异常后,需要回滚到之前的程序。常用的方法有些啥啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信