java的Exception总结

 

1.列举有几种异常

(1)java.lang.NullPointerException (空指针异常)

 (2)java.lang.ClassNotFoundException(类找不到异常)   

 (3)java.lang .NumberFormatException(数字格式异常)

(4)java.lang.IndexOutOfBoundsException(数组角标越界异常)或者(数组索引越界异常)

(5)java.lang .IllegalArgumentException(非法参数异常)

(6)java.lang .ClassCastException(类转换异常)

(7)java.lang.NoClassDefFoundException(类未定义异常)

(8)SQLException(sql异常)操作数据库异常

 (9)java.lang.IOException  (io异常)

(10)java.lang .NoSuchMethodException(没有匹配异常)

public class TestException {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        /**---1-4 运行时异常:只有右键运行才可以查看异常----*/
        //1 空指针异常  NullPointerException
//        String str = null;
//        System.out.println( str.length() );         //str 空指针

        //2 数字格式化异常  NumberFormatException
//        String num = "b123";
//        Number parse = Integer.parseInt(num);
//        System.out.println(parse);

        ///3 数组下标越界异常   ArrayIndexOutOfBoundsException
//        int[] arr = new int[3];
//        System.out.println(arr[5]);

        //4 类型转换异常  ClassCastException
//        Object obj = 123;
//        String objStr = (String)obj;

        /**---5-7 编译时异常:源码的时候,必须处理----*/
        //5 文件找不到异常 FileNotFoundException
        OutputStream out = new FileOutputStream( new File("") );
        //6 IO 异常  IOException
        out.write(65);

        //7 类找不到异常  ClassNotFoundException
        Class.forName("com.czxy.Hello");
    }
}

2.error和exception有什么区别?

1, exception可以通过try..catch捕获, 进行相应的处理, 或者抛出由调用者处理

2, error 不可控制, 无法处理

3. 运行时异常与checked检查型异常有何异同?

checked检查型异常,又称为编译时异常,必须对异常进行处理(try-catch 或 throws)

运行时异常,不被检查型的异常,对异常可以处理,也可以不处理。

 

4.  如何自定义异常

 

自定义检查性异常类,继承 Exception 类。

自定义运行时异常类,继承 RuntimeException 类。

 

 

5 .final, finally, finalize的区别

(1)final:修饰符。

 A).如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。

 B).如果将变量或者方法声明为final,可以保证它们在使用中不被改变。

 C).被声明final的方法只能使用,不能重写。

(2)finally:异常处理机制的一部分

 A).finally结构使代码总会执行,而不管是否有异常。

 B).使用finally常用于释放资源。

(3)finalize:Java中垃圾回收器执行的方法。

 A).它是一个方法,属于java.lang.Object类。

 B).在垃圾收集器执行的时候会调用的此方法,进行对象的回收,但在调用垃圾回收gc()后,并不能立即执行回收,JVM根据算法定时执行。

● final 


public final class HelloFinal {

    /*
    public final String str = "jack";
    public void demo(){
        //1.B  如果将变量或者方法声明为final,可以保证它们在使用中不被改变
        str = "rose";
    }
    */

}

/*
// 1.A  final 修改的类,不能被继承
class Son extends  HelloFinal {

}

 


public class HelloFinal2 {
    public final void demo(){

    }
}

/*
class Son2 extends HelloFinal2 {
    //1.C  被声明final的方法只能使用,不能重写。
    @Override
    public void demo() {
        super.demo();
    }
}
*/

● finally

try {
    System.out.println();
} catch (Exception e) {
    e.printStackTrace();
} finally {
    //释放资源
}

目录

1.列举有几种异常

2.error和exception有什么区别?

3. 运行时异常与checked检查型异常有何异同?

4.  如何自定义异常

 

5 .final, finally, finalize的区别


猜你喜欢

转载自blog.csdn.net/weixin_46729085/article/details/108025381
今日推荐