编译时异常


class Demo {
    public static void main(String[] args) {
        show(50);

    }

    public static void show(int age) throws Exception {
        if (age < 50) {
            throw new Exception("太嫩了");
        }
        System.out.println(age);
    }
}

当你在编辑时想让调用者知道他传达的值是错的你就抛一个编辑时异常,让他预先做处理,你不处理你编辑就不能通过。在抛异常的方法中写一个声明 throws Exception
上面其实是处理异常的一种方案,声明异常。还有一种方案就是捕获异常


class Demo {
    public static void main(String[] args) {
    try{    show(10);
    }
    catch(Exception e){
        System.out.println("异常被抓住了");
    }
    }

    public static void show(int age) throws Exception {
        if (age < 50) {
            throw new Exception("太嫩了");
        }
        System.out.println(age);
    }
}

通过try,catch来进行异常的内部消化。

总结:
什么时候使用捕获,什么时候使用声明:

首先明确自己到底是功能的定义者还是功能的调用者。

如果我们是功能的定义者,在我们的功能中有异常发生,而这个异常不需要告诉给调用者,这时就要在自己的功能中必须把这个捕获调用。
如果这个问题需要告诉调用者,这时就可以在方法上使用throws关键字把异常声明出去。

功能的调用者:我们调用别人的程序,由于别人的程序发生了问题,自己在调用的时候,就需要提前给出处理方案,而Java对异常的处理方案仅有2种,
捕获和声明。如果这个问题在我们自己的程序能够处理掉就不要再使用声明,而发自己依然要把这个问题往外暴漏,那么就可以使用声明

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,891评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 先要执行Elasticsearch 创建索引模板 效果图如下
    浅色的嗥啸阅读 500评论 0 1
  • 牧云是个表面上看上去大大咧咧的女孩儿,爱开玩笑,喜欢热闹,和谁都可以玩到一起,很讨人喜欢的一个女孩儿。只是,了解牧...
    颜凝雪阅读 438评论 1 4