问答详情
源自:1-5 Java 中的异常抛出以及自定义异常

有没有高手帮我看看代码怎么运行不起!

package immoc.com.trycatch;
public class Test {
/*
 * 抛出 数组越界和算术异常
 */
 public void Test1(int x) throws ArrayIndexOutOfBoundsException,ArithmeticException{
     System.out.println(x);
     if(x == 0){
         System.out.println("没有异常");
         return;
     }
     //数据越界异常
     else if (x == 1){
         int[] a = new int[3];
          a[3] = 5;
     }
     //算术异常
     else if (x == 2){
         int i = 0;
         int j = 5/0;
     }
 }
}

package immoc.com.trycatch;
public class ExceptionInital {
 /**
  * @param args
  */

public static void main(String[] args){
 //创建对象
    ExceptionInital object = new ExceptionInital();
    // 调用会抛出异常的方法,用try-catch块
    try{
        object.Test1(0);
    }catch(Exception e){
        System.out.println(e);
    }
    // 数组越界异常
    try{
        object.Test1(1);
    }catch (ArrayIndexOutOfBoundsException e) {
        System.out.println("数组越界异常:"+e);
    }
    // 算术异常
    try{
        object.Test1(2);
    }catch(ArithmeticException e){
        System.out.println("算术异常:"+e);
    }
    //使用 throw 抛出异常(可以抛出异常对象,也可以抛出异常对象的引用)
    try{
        ArrayIndexOutOfBoundsException  exception = new ArrayIndexOutOfBoundsException();
        throw exception;//new ArrayIndexOutOfBoundsException();
    }catch(ArrayIndexOutOfBoundsException e){
        System.out.println("thorw抛出异常:"+e);
    }

}



提问者:kk求知者 2017-12-18 17:24

个回答

  • 慕神3632987
    2017-12-18 21:02:01

    public static void main(Strring[] args),这里多了个r,应该是String[]

    ExceptionInital类中没有定义test1(),自己也是小白,还不知道怎么解决

    希望能帮到你

  • Simenzz
    2017-12-18 20:30:18

    你自己放Eclipse里面看看

    public static void main(Strring[] args)这里错了

    而且你要调用的Test1方法在Test类里面。所以object的类型应该是Test

    其他的你在自己看吧。