看Java报错,总结异常及代码实现

1.java.lang.ArithmeticException:这是算数异常 比如分母位0

2. java.lang.ArrayIndexOutOfBoundsException:数组下标越界异常

3.java.lang.NullPointerException :空指针异常

public static void main(String[] argv ) {
    int[][] arr= new int[2][];
    System.out.println(arr[0]); //null
    System.out.println(arr[0][2]);  //null中的元素 这个时候就会报异常
}//endmain 

4.java.lang.ClassCastException:类型转换异常

5.java.lang.CloneNotSupportedException ------克隆不支持异常

     解决方法:对象对应的类需要实现Clonezble接口才能支持克隆

public class ObjectDemo implements Cloneable{

    public static void main(String[] args) throws CloneNotSupportedException {
        ObjectDemo o1=new ObjectDemo();//相当于向上造型
        // java.lang.CloneNotSupportedException ------克隆不支持异常
        //对象对应的类需要实现Clonezble接口才能支持克隆
        ObjectDemo o2=(ObjectDemo)o1.clone(); //向下造型
    }

}

6.ClassCastException 类型转换异常

public class Demo {
    public static void main(String[] args) {
        A b=new B();
        C c=(C)b; // 运行时报异常
    
    }
}
class A{}
class B extends A{
    
}
class C extends B{
    
}

7.java.lang.NumberFormatException 

Integer in1=new Integer("151i");//java.lang.NumberFormatException 数据格式错误
 

8、parseException   时间没有制定具体格式。

9、IllegalArgumentException  跑出表示方法已通过了一个非法或者不适当的参数。

10、Java 中StackOverflowError、OutOfMemory:

package test.javaError;

/**
 * 让Java报StackOverFlow、OutOfMemory错误
 * 
 */
public class ErrorGenerate {

    /**
     * 执行后会报StackOverflowError错误的方法
     */
    public void SOF(){
        SOF();
    }

    /**
     * 执行后会报OutOfMemoryError错误的方法
     */
    public void OOM(){
        String str = "OOM";
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            str = str + str;
        }
    }


    /**
     * 测试
     */
    public static void main(String[] args) {
        //执行该方法,报错:StackOverflowError
        new ErrorGenerate().SOF();
        //执行该方法,报错:OutOfMemoryError
        new ErrorGenerate().OOM();
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值