java throwable_Throwable异常

在Throwable中有两个子类

1.Error类

2.Exception类

在Error类中还存在很多的子类,Error异常代码严重错误,比如JVM内部出现错误,一般这种错误程序是不法处理的

具体类的详细信息请查阅java se帮助文档

在开发中不要使用Throwable类,因为它的继承体系太大了,这些异常我不需要要全部只记住,只是在发生异常的时候,查阅帮助文档即可,但是在Exception中出先的异常我们能做出处理,就要尽量的做出处理。

捕获异常:

try{

可能发生异常的代码

比如:Inti=1/0;

}

catch( Exception e){

捕获到的异常,在这里我们可以做出异常处理,当捕获到一个异常,也就意味这创建了一个异常对象

}finaly{

无论什么时候都会执行,在这里如果是操作数据库,常常就会在这里关闭数据库

}

声明异常:

可以在方法上使用throws关键字来声明异常和抛出异常,仅仅只是声明异常,而对异常不做出处理,并且throws可以抛出多个异常,如果在外面调用方法的时候,必须使用try catch来捕获异常,和继续使用throws关键字,继续往上抛,直到抛给虚拟机,JVM会给我们做出异常的处理、

抛出异常:

throw关键字也是来异常的但是throws和throw的区别在于throw需要结合try catch联合已使用,当捕获到异常信息,需要用throw关键子,来抛出异常信息,其实也可以不联合使用try catch语法,但是必须要创建一个对象,因为一个异常就代表一个对象。需要手动创建一个Exception对象

ExceptionàRuntimeException类:

在Integer中的parseInt方法是这样声明的

public static intparseInt(String s) throws NumberFormatException,在这里java开发者,声明了一个异常。

但是我们在使用Integer.parseInt();方法的时候并没有捕获异常或者抛出异常,程序还是正常的运行,由此证明只有是需要是RuntimeException异常就不需要声明异常或者抛出异常.

异常链

try {

} catch (NamingException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

在铺货异常的时候应该按照,由小到大的方式捕获这样才可以更好的进行处理,比如时Sql 异常,这些异常信息是不可以向外暴漏的,所以要尽量的处理有可能发生的异常,而对于Sql 异常属于管理员能看见的信息,所以在使用的时候,要多异常进行记录,对于用户可以做出友好的提示,throw new Exception("数据库连接异常,请联系管理员");而对于异常信息将使用异常记录的方法, 而对于Exception 这样的异常,属于未知异常所以在处理的时候不会一下子很快的找到出错点。

帮助文档的解释:

RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。

可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在 throws子句中进行声明。

常见异常:

1.ArithmeticException当出现异常的运算条件时,抛出此异常。比如除以0

2. ArrayIndexOutOfBoundsException非法越界、比如数组

3. ArrayStoreException数组类型不匹配

4. ClassCastException类型转换错误

5. IndexOutOfBoundsException索引越界

6. NullPointeException空指针异常

7. StringIndexOutBounds字符串索引越界

8. UnsupportedOperationException操作错误, 如下

String []listAarr = new String[2];

List list = Arrays.asList(listAarr);

list.add("sss");

9.CalssNotFoundException找不到指定类

10.NotSuchMethodException找不到指定的方法,在JSP常常出现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值