【Java-3】异常

/*
* 异常的处理:抓抛模型
*
* 过程1:“抛”,程序在正常执行的过程中,一旦出现异常,就会在对应代码处生成异常类的对象
*            并将该对象抛出。
*            一旦抛出对象以后,其后的代码不再执行
*
* 过程2:“抓”,异常的处理方式:try-catch-finally
*                         throws
* try-catch-finally的使用
* try{
*       //可能出现异常的代码
* }catch(异常类型1 变量名1){
*       //处理异常的方式1
* }catch(异常类型2 变量名2){
*       //处理异常的方式1
* }
* ...
* finally{
*       //一定会执行的代码
* }
* 说明:finally是可选择的
* catch中的异常如果没有子父类关系,则声明顺序随意
* 如果满足子父类关系,子类一定在父类上,否则报错
* 常用的异常对象处理方式:String getMessage(),printStackTrace()
* 在try结构中定义or声明的变量,出了try结构之后不能再次调用(在外声明,在内调用)
* 像数据库连接,输入输出流,网络编程Socket资源,JVM无法自动回收,就需要手动进行资源释放,
* 就得生命在finally当中
*
* 体会1:使用try-catch-finally处理编译时异常,等于把编译时出现的异常延迟到运行时
* 体会2:开发中由于运行时异常比较常见,通常就不针对运行时异常编写try-catch-finally
* 
*/
public class ExceptionTest1 {
    public void test1(){
        String str="123";
        str="abc";
        try {
            int num = Integer.parseInt(str);
            System.out.println("Hello1");
        }catch (NumberFormatException e){
            System.out.println("出现数值转换异常咯!");
        }
    }
}
/*
*
* 异常处理的方式2:Throws+异常类型
* 使用throws被抛出以后,后续代码不再执行
* try-catch-finally是将真正的异常处理掉了,而throws则是将异常抛出,并没有真正处理掉
* *开发中如何选择try-catch-finally还是throws处理异常?
*   1.如果父类中被重写的方法没有throws方式处理异常,则子类也不能用throws,意味着如果子类中有异常,
*     就只能使用try-catch-finally来处理
*   2.执行的方法中先后又调用了另外的方法,属于递进关系,建议几个方法使用throws的方式处理,而执行的
*     方法A可以使用try-catch-finally进行处理
 */

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值