概述
问题描述:
异常处理中,当程序中有异常的时候,由catch来捕获。但此时,catch里处理完以后,程序就结束了。那么问题是:如何使程序出现异常后,程序不结束,接受客户端的继续输入,直到正确为止。
先看一个小程序
import java.io.*;
public class KB {
public static String scan(){
String str="";
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
str=br.readLine();
}
catch(Exception e){}
return str;
}
public static int scanInt(){
int temp=0;
try{
System.out.println("请输入数:");
temp=Integer.parseInt(scan());
System.out.println("输入正确");
}
catch(Exception e){
System.out.println("Warning:输入不合法");
}
return temp;
}
}
public class Test {
public static void main(String[] args) {
int n=KB.scanInt();
System.out.println(n);
}
}
当输入一个正确的数的时候没有问题,但当输入一个字母'q'的时候,程序就结束了。那么我希望的是输入错了,也能继续下去。
解决方案:
public static int scanInt(){
int temp=0;
try{
System.out.println("请输入数:");
temp=Integer.parseInt(scan());
System.out.println("输入正确");
}
catch(Exception e){
System.out.println("Warning:输入不合法");
temp=scanInt();//加入这样一句话,递归调用,并将结果赋给temp,即可实现。
}
return temp;
}
最后
以上就是无聊鸭子为你收集整理的对异常处理中的一个问题的思考(出现异常,程序仍能继续运行)的全部内容,希望文章能够帮你解决对异常处理中的一个问题的思考(出现异常,程序仍能继续运行)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复