我是靠谱客的博主 无聊鸭子,最近开发中收集的这篇文章主要介绍对异常处理中的一个问题的思考(出现异常,程序仍能继续运行),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题描述:

     异常处理中,当程序中有异常的时候,由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;
 }

 

最后

以上就是无聊鸭子为你收集整理的对异常处理中的一个问题的思考(出现异常,程序仍能继续运行)的全部内容,希望文章能够帮你解决对异常处理中的一个问题的思考(出现异常,程序仍能继续运行)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部