Java学习12

异常以及异常处理

异常分为错误和异常,在这里可以比喻为绝症与阑尾炎的关系

错误无法挽回

异常可以调试

两种调试方法

try -catch、throws

或者称为异常检测更为合理

try-catch是将可能发生异常的部分进行框选,针对其中发生的异常的原因以及部位进行反馈,

try-catch分为三种方法:

1、try-catch

try{

代码块(可能出错)

}catch(异常原因 ‘由aip查找得到或者由出错后复制’ 错误命名 ){

代码块,这里的代码块可以是输出函数,课本上用的是sout

}

2、try-catch-catch

ry{

代码块(可能出错)

}

catch(异常原因 ‘由aip查找得到或者由出错后复制’ 错误命名1 ){

代码块1,这里的代码块可以是输出函数,课本上用的是sout

}

catch(异常原因 ‘由aip查找得到或者由出错后复制’ 错误命名2 ){

代码块2,这里的代码块可以是输出函数,课本上用的是sout

}

3、try-(catch)-finally

ry{

代码块(可能出错)

}

catch(异常原因 ‘由aip查找得到或者由出错后复制’ 错误命名 ){

代码块,这里的代码块可以是输出函数,课本上用的是sout

}

这一段可以不写

finally{

代码块

}

finally的代码块,一定会运行,而不是向catch一样符合错误类型的运行

第二种异常反馈

throws反馈,笔者将其成为甩锅式反馈

出现异常后,直接使用throws甩出,异常将在控制台中反馈,

若方法中出现异常,则调用方法的类与对象都需要throws

当出现多个异常时,如果包含父子关系,则只需要抛出父类异常即可

如果不包含,则需要将异常类依依抛出

import java.io.FileNotFoundException;

public class Dome05 {
//    public static void main(String[] args) throws FileNotFoundException {
//        read("B.text");//Exception in thread "main" java.io.FileNotFoundException: 不存在
//        //当出现问题时,会进行反馈
//    }
//
//    private static void read(String path) throws FileNotFoundException {
//        if(!path.equals("a.text")){
//            throw new FileNotFoundException("不存在");
//        }
//    }
    /**
     * 这是第一种throw 只有一种报错反馈情况
     */
    public static void main(String[] args) throws FileNotFoundException {
        reae("上林赋");
    }

    private static void reae(String path) throws FileNotFoundException {
        if(path.equals("上林赋")){
            throw new FileNotFoundException("是这个文件");//throws调试,只会运行一个
        }
        if(!path.equals("a.text")){
            throw  new FileNotFoundException("不是这个文件");
        }
    }
/**
*这是第二种
*/

}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值