本文主要是介绍Java中异常处理机制的理解与应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
异常
客观角度:不符合现实生活的各种情况,都可以理解为是异常 Java语言角度:在代码的运行过程中,出现的各种错误导致程序停止运行,那么这些错 误就是异常。
- 注意:异常在程序种是通过一个个对象来表示 和异常相关的类型: Throwable 该类型是所有异常类的父类 Error:错误 一般表示比较严重的问题,一旦出现该问题,无法通过代码解决 Exception:异常 一般表示比较轻微的问题,如果程序种出现异常,可以通过代码来处理或者解决该异常。 编译时异常:除了运行时异常,其他类型都是编译时异常 运行时异常:RunTimeException 类型以及 它的子类类型
编译型异常和运行时异常
- 编译时异常:在代码编译阶段,系统会检查代码的语法格式等情况,如果在检查的过程中出现了问题,就提示一个错误,这些问题就属于编译时异常。 运行时异常:在代码编译阶段不对代码进行检查,但是在代码运行阶段,如果出现了一些导致程序意外终止的问题,这些问题就属于运行时异常。 注意: 不管是编译时异常还是运行时异常,都只会在运行阶段出错。
JAVA虚拟机默认处理异常的方式
- 如果在代码中的某个方法内出现了错误情况,系统会将这个错误发生的原因,发生异常类型,发生的路径封装到异常对象中。 如果当前方法中没有处理这个异常对象,就将异常往上抛出,抛给调用该方法的方法。 如果调用的方法也没有处理异常,那么就一层一层往上抛出,直到抛给main方法,main方法再抛给虚拟机 虚拟机将当前异常对象通过标准错误流,打印到控制台,并结束自己。
代码:
手动处理异常的方式
异常声明
如果在某个方法中出现了编译时异常,可以在当前方法上声明这个异常的类型,声明之后编译时异常就会消失。
修饰符 返回值类型 方法名称 (参数列表)throws 异常类型1,异常类型2…{
方法体语句;
}
- 注意事项: 异常的声明,不能从本质上解决问题,只能在编译阶段不检查这段代码 如果后续传入一些错误的数据,在运行阶段也可能会发生错误。 如果方法1中进行了异常的声明,方法2调用了方法1,那么方法2需要对该异常进行捕获或者处理。 在声明异常的时候,尽量声明小的异常类型
public static void main(String[] args) throws ParseException{
test();
}
public static void test() throws ParseException {
SimpleDateFormat sim = new SimpleDateFormat();
Date date = sim.parse("2022年2月28号");
System.out.println(date);
}
异常的捕获
如果代码的某个位置会出现了错误情况,可以使用特定的格式,捕获这个 错误,捕获之后可以按照自己定义的方式去处理异常。
- 格式: try … catch try … catch … finally try … finally
try … catch
try{
可能会出现错误的代码
}catch(异常类型 异常对象名称){
处理异常的方式
标签:java,函数,学习,系统,语言,平台,方法,安装,
来源:
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
这篇关于Java中异常处理机制的理解与应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!