java解释抛出和捕获的含义_弱弱的问下,抛出异常和捕获处理什么意思呀?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

java编译器要求java程序必须捕获或声明所有的非运行时异常,但对运行时异常可以不做处理。虽然编译器对运行时异常不强制要求处理,但是实际开发中为了程序的健壮性,还是有必要处理的。 在开发过程中常见的RuntimeException类型的异常主要有一下几种。 ArithmeticException:数学计算异常

NullPointerException:空指针异常

NegativeArraySizeException:负数组长度异常

ArrayOutOfBoundsException: 数组索引越界异常

ClassNotFoundException:类文件未找到异常

ClassCastException:类型强制转换异常

SecurityException:违背安全原则异常 其他非Runtime类型的常见异常主要有以下几种

NoSuchMethodException:方法未找到异常

IOException:输入输出异常

EOFException:文件已结束异常

FileNotFoundException:文件未找到异常

NumberFormatException:字符串转换为数字异常

SQLException:操作数据库异常 上面列出的都是开发中时常出现的异常,而且每一种异常产生的原因都是相同的,因此解决方法都差不多。 下面再说说java中异常处理的方式:

1、使用try-catch-finally try{

//可能会抛出特定异常的代码段

}catch(MyExceptionType myException){

//如果myexception被抛出,则执行这段代码

}catch(Exception otherException){

//如果另外的异常被抛出,则执行

}finally{

//无条件执行的语句

}

再上述语句块中,try和catch语句是必须的,而且catch语句可以定义多个,finally语句不是必须的。 2、使用throws

如果在定义一个方法的时候,并不能确定如何处理其中可能出现的异常,可以不用在方法中使用try-catch-finally结构对异常进行处理,而是将可能发生的异常抛给该方法的调用者来处理。使用格式:

public void f1() throws IOException,RuntimeException{

业务逻辑代码,可能会产生IOException,RuntimeException异常

}

上述代码中在定义f1()方法时,通过throws关键字指定了该方法可能抛出的异常类型,throws后面可以写一个会对个异常类型,多个用“,”隔开。

有了处理方法,那么我们在实际使用中该选择那种异常处理方法呢

好了,现在说下异常处理方法的选择,try-catch方法允许开发者在程序发生异常时,对异常部分进行补救或处理,而throws方式仅仅是发生异常后将异常抛给上一级,让调用该方法的方法处理异常。选择时可以按以下原则进行:

如果方法中前面代码发生异常后,后面代码需要继续执行,可以选择try-catch。

如果方法中的代码发生异常后,有替代方案或需要特殊处理,可选try-catch。

如果方法中的代码发生异常后,无法处理,后面代码无法正常工作,可以选择throws。

根据特定情况而定,有些厂商规定异常在某一特定层使用try-catch处理,其他层都统一使用throws抛出。

原文(送粮网):http://www.51songl.com/common-java-exceptions.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值