Java教程

java异常

本文主要是介绍java异常,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.throw 和throws 的区别

throw 表示方法中抛出某种异常,如果异常对象是非runtimeException,则需要在方法上申明加上该异常的抛出,即需要加上throws语句或者在try catch 处理该异常,否则编译报错。

throws 方法的定义使用 throws 表示这个 方法可能抛出某种异常

需要由方法的调用者进行异常处理

2.final、finally、finalize 有什么区别?

final

final修饰类,表示该类不可以被继承

final修饰变量,表示该变量不可以被修改,只允许赋值一次

final修饰方法,表示该方法不可以被重写

finally

finally是java保证代码一定要被执行的一种机制。

比如try-finally或try-catch-finally,用来关闭JDBC连接资源,用来解锁等等

finalize

finalize是Object的一个方法,它的目的是保证对象在被垃圾收集前完成特定资源的回收。

不过finalize已经不推荐使用,JDK9已经标记为过时。
 

3.异常

error 和exception

error 不可控制的,经常来自于表示系统错误或者底层资源错误,如果可能,应该在系统级被捕捉

Exception

1.可以是可被控制(checked) 或不可控制的(unchecked)。

2.表示一个由程序员导致的错误。

3.应该在应用程序级被处理。

java 定义了两种异常: checkedException uncheckedException 运行时异常和非运行时异常

runtimeException

 java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。

● java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常。

● java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。

● java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。

● java.lang.IllegalArgumentException 方法传递参数错误。

● java.lang.ClassCastException 数据类型转换异常。

● java.lang.NoClassDefFoundException 未找到类定义错误。

● SQLException SQL 异常,常见于操作数据库时的 SQL 语句错误。

● java.lang.InstantiationException 实例化异常。

● java.lang.NoSuchMethodException 方法不存在异常。

这篇关于java异常的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!