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

Java基础~Java 异常处理

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

Java基础~Java 异常处理

一、介绍

异常是程序在“编译”或者“执行”的过程中可能出现的问题,注意**:**语法错误不算在异常体系中。

比如:数组索引越界、空指针异常、 日期格式化异常,等…

二、异常体系

Error:系统级别问题、JVM退出等,代码无法控制。

Exception:java.lang包下,称为异常类,它表示程序本身可以处理的问题

RuntimeException及其子类:运行时异常,编译阶段不会报错。 (空指针异常,数组索引越界异常)

除RuntimeException之外所有的异常:编译时异常,编译期必须处理的,否则程序不能通过编译。 (日期格式化异常)。

三、编译时异常和运行时异常

编译时异常就是在编译的时候出现的异常运行时异常就是在运行时出现的异常
四、编译时异常处理方式 一、出现异常直接抛出去给调用者,调用者也继续抛出去

throws:用在方法上,可以将方法内部出现的异常抛出去给本方法的调用者处理这种方式并不好,发生异常的方法自己不处理异常,如果异常最终抛出去给虚拟机将引起程序死亡

// 抛出异常格式
方法 throws 异常1,异常2,异常3{}
// 规范做法:代表可以抛出一切异常
方法 throws Exception{}
二、出现异常自己捕获处理,不麻烦别人

监视捕获异常,用在方法内部,可以将方法内部出现的异常直接捕获处理这种方法还可以,发生异常的方法自己独立完成异常的处理,程序可以继续往下执行

try{
    // 监视可能出现异常的代码
}catch(异常类型1 变量){
    // 处理异常
}catch(异常类型2 变量){
    // 处理异常
}
try{
    // 可能出现异常的代码
}catch(Exception e){
    e.printStackTrace();// 直接打印异常栈信息
}
Exception可以捕获处理一切异常类型
三、前两者结合,出现异常直接抛出去给调用者,调用者捕获处理

方法直接将异常通过throws抛出去给调用者调用者收到异常后直接捕获处理 五、自定义异常 一、自定义编译时异常

定义一个异常类继承Exception.重写构造器。在出现异常的地方用throw new 自定义对象抛出,作用:编译时异常是编译阶段就报错,提醒更加强烈,一定需要处理!! 二、自定义运行时异常

定义一个异常类继承RuntimeException.重写构造器。在出现异常的地方用throw new 自定义对象抛出!作用:提醒不强烈,编译阶段不报错!!运行时才可能出现!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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