处理异常—继续学习

处理异常的第二种办法:

        这里我们来学习处理异常的第二种办法:上一次我们学习了try-catch的方法来处理异常以及异常的基本分类,接下来我们来学习使用throws的方法来处理异常:

package Exception;

import java.util.Hashtable;

public class Throws_Demo {
    /*
        throws:在参数列表后面,是用来声明此方法有可能会出现异常
            -谁调用谁处理
            -注意:运行期异常不主动提示,检查异常会主动提示

        throw:在方法体内,当不满足某种条件时,主动抛出一个异常对象
            -程序就不再向后执行
     */
    public static void main(String[] args) {
        try{
            char c = checkscore(110);
            System.out.println(c);
        }catch (Exception e){
            e.printStackTrace();
            System.out.println(e.getMessage());
        }

        //可以查看一下原码,深入底层,掌握案例
//        new Hashtable<>().put(null,null);
//        "aa".charAt(3);

    }

    public static char checkscore(int score)throws Exception{
        if(score<0 || score>100){
            //return "成绩不合法";//可以使用异常来解决

            throw new Exception("分数不合法");//暂时借用一个
            //在程序不满足某种条件是,主动抛出一个异常对象,程序就不能继续向下执行

        }

        if(score>=90){
            return 'A';
        }else if(score>=80){
            return 'B';
        }else{
            return 'C';
        }
    }
}

关于throw和throws的区别:

        throws:在参数列表后面,是用来声明此方法有可能会出现异常
            -谁调用谁处理
            -注意:运行期异常不主动提示,检查异常会主动提示

        throw:在方法体内,当不满足某种条件时,主动抛出一个异常对象
            -程序就不再向后执行

关于try-catch和throw的差异:

        一般来讲,我们最终处理是通过try-catch来解决(宏观上讲),但是一个异常是无法再编译期间被处理的,只能通过我们修改代码来进行解决。在实现功能上我们可以更加直观的体会他们两个的差别:

        try-catch这个方法会提供一个异常之后最终执行的代码机会,但是throw这个方法在抛出异常之后,程序就不会再向后执行。

        这一点我们在写代码的时候要对实现功能进行斟酌来灵活使用这两种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值