欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 常见异常

程序员文章站 2022-04-30 09:10:46
...

1: java.lang.OutOfMemoryError: Java heap space

 public static void main(String[] args) {
       int[] a=new int[2*5*4546546*456465464]; //  java.lang.OutOfMemoryError: Java heap space
        System.out.println(a);
    }

2:java.lang.ArithmeticException: / by zero

int a = 10; 
int b = 0; 
System.out.println(a/b);  // java.lang.ArithmeticException: / by zero

3:
数组下标越界异常

int[] a = new int[2];
System.out.println(a[2]);  // java.lang.ArrayIndexOutOfBoundsException
    or
int []a = new int[-5];   // java.lang.NegativeArraySizeException

4://类型装换异常

Object object = new Object(); 
String str = (String) object;  // java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.String

说到类型转换异常还有一个例子可以说明
如何说明instanceOf的用法
example: a instanceOf B
首先第一要素,a不能为空,
第二要素,B不能为空

String a = new String();
     if (a==null){
         System.out.println("a为空");
     }
     if (a instanceof Object){  // a不能为空,Object不能为空
        // boolean as = (s instanceof String[])   // 不能通过编译,Inconvertible types; cannot cast 'java.lang.String' to 'java.lang.String[]'
         System.out.println(a instanceof  Object); // true 
     }

5: java.lang.NullPointerException //空指针异常

//当给一个字符串一个空字符串(“”或者“  ”)的形式的时 不会出现空指针异常 
//因为他不是空的 
String str = ” “; 
if(str.equals(” “)){ 
System.out.println(“我是空指针异常”); 
} 
String str = null; 
if(str.equals(null)){ // 此处报空指针异常
System.out.println(“我是空指针异常”); 
}*/ 



or
 String s= new String();
 s=null;
 System.out.println(s.length());  //java.lang.NullPointerException

6:数字格式异常

 String str="abc";
       int a=Integer.parseInt(str); // java.lang.NumberFormatException: For input string: "abc"

7:ParseException

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd HH:MM:SS");
        String data="2019-02-28";
        simpleDateFormat.parse(data);//idea提示报错,编译报错: Error:(20, 31) java: 未报告的异常错误java.text.ParseException; 必须对其进行捕获或声明以便抛出