栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaSE自学笔记015

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSE自学笔记015

JavaSE自学笔记015_Real(异常 Exception) 一、Java的异常机制

try catch机制

    public static void main(String[] args) {
        while(true){
            int num1 = 100;
            Scanner scanner = new Scanner(System.in);
            int num2 = scanner.nextInt();
            try{
                int res = num1 / num2;
                System.out.println(res);
            }catch (Exception e){
                System.out.println("除数不能为0!");
            }

        }
    }
二、Java的继承体系结构


Throwable类时Java语言中所有错误或异常的超类
(1)Throwable类是所有错误和Java中异常类,只有当对象是此类(或子类之一)的实例的时候,才能通过java虚拟机或者java throw语句抛出;
(2)Exception和Error都是继承了Throwable类,它是异常处理机制的基本组成类型;
(3)Exception和Error体现了java平台设计者对不同异常情况的分类,Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理;
(4)Error是指在正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序处于非正常的,不可恢复的状态,既然是非正常情况,所以不便于耶不需要捕获,常见的比如OutMemoryError。

1、Error

(1)Error是Throwable的子类,用于知识合理的应用程序不应该三视图捕捉的严重问题;
(2)Java程序通常不捕获错误,错误一般发生在严重故障时,他们在java程序处理的范畴之外;

2、Exception

异常:Java语言中,将程序执行中发生的不正常情况称之为异常,就是程序执行的时候出现了意想不到的情况。
Exception异常主要分为两类:
一类是 受查异常 (检查性异常),checkException,可检查异常在源代码里面必须显式的进行捕获处理,这是编译期检查的而重要组成部分。Check Exception的假设是我们捕获了异常,然后回复程序,但是,其实我们大多数情况下,根本就不可能恢复。
另一类是运行时异常(非受查异常),RuntimeException,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译期强制要求。

三、异常链

一个异常被抛出之后会继续被调用这个方法的方法捕获抛出,也就是异常扩散。
方法在栈空间中被调用,多个方法户响调用形成了调用链条,会生成一个StackTrace,也叫做栈轨迹,或堆栈信息,或调用链。JVM抛出异常的时候,会打印这个堆栈信息。在捕获异常信息之后应该主动地打印信息,这样我们才能尽量找到问题并解决问题。

有时候那我们甚至需要捕获一个一场之后需要抛出另外一个异常,并且希望把异常原始地信息保留下来,这样地多个异常形成地链条叫做异常链。
1、JDK1.4之前,我们需要自己编写代码来保存原始异常信息。
2、现在所有地Throwable地子类构造器中都可以接受一个cause对象作为参数,这个cause就是异常原因,代表原始异常,即使在当前位置创建并抛出行的异常,也可以通过这个cause追踪到异常最初发生的位置。
3、Throwable类及其所有的子类都提供了带cause参数的构造器,其他的异常类只有哦通过initCause()来设置cause了。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/632362.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号