个人01 简单异常处理

java中的异常捕获语句

Try{

  //可能发生运行错误的代码;

}

catch(异常类型 异常对象引用){

  用于处理异常的代码;

}

finally{ 

  //用于“善后”的代码;

}

把可能会发生错误的代码放进try语句块中。当程序检测到出现一个错误时会抛出一个异常对象,异常处理代码会捕获并处理这个错误。catch语句块中的代码用于处理错误。当异常发生时,程序控制流程由try语句跳转到catch语句块。

import java.io.IOException;
import java.util.Scanner;

//查找list[]中的最大值

public class danyuanceshi{

    public static void main(String[] args){
        // TODO Auto-generated method stub
        @SuppressWarnings("resource")
        Scanner input=new Scanner(System.in);
        System.out.println("请输入数组的长度:");
        int N=input.nextInt();
        int list[]=new int[N];
        System.out.println("请输入一个整数数组:");
        for(int i=0;i<N;i++)
        {
            list[i]=input.nextInt();
        }
        int length=list.length;
        
        int max=Largest(list,length);
        System.out.println("最大值为:"+max);
    }
    public static int Largest(int list[],int length)
    {
        try{
            if(list==null||list.length==0){
                throw new Null("不能为空");
            }
        }catch(Null e){
            System.out.println("不能为空");
            System.exit(0);
        }
     
        int i;
    
        int max=list[0];
            for(i=0;i<=(length-1);i++)
            {
                if(list[i]>max)
                {
                max=list[i];
                }
            }
        return max;
    }
}

class Null extends IOException{
    public Null(String args){
        super(args);
    }
}

问题:出现了一些逻辑问题,先前自己定义了数组长度,使后面的if语句无法判断,应自己输入数组长度。使用System.exit(0)来抛出异常之后结束整个程序。

posted @ 2017-03-15 18:22  树深时见鹿``  阅读(101)  评论(0编辑  收藏  举报