浅谈Java异常原理

程序员咋不秃头2024-04-14 11:06:55  142

异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。

程序错误分为三种:

编译错误

运行时错误

逻辑错误

(1)编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常遇到的问题。

(2)运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。

(3)逻辑错误是因为程序没有按照预期的逻辑顺序执行。异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制。

1 异常分类

在 Java 中,异常分为两种:已检查和未检查(即必须捕获的异常和不必捕获的异常)。默认情况下,必须捕获所有异常。

2 异常原理

使用异常的代码:

class ExceptionExampleOriginal { public static void main(String[] args) { System.out.println("main 方法开始"); try { System.out.println("main 调用前"); method1; System.out.println("main 调用后"); } catch (RuntimeException e) { String s = e.getMessage; System.out.println(s); } System.out.println("main 方法结束"); } public static void method1 { System.out.println("method1 开始"); method2; System.out.println("method1 结束"); } public static void method2 { System.out.println("method2"); String s = "消息:未知异常"; throw new RuntimeException(s); }}

原理的大概表示:

public class ExceptionExample { private static Exception exception = null; public static void main(String[] args) { System.out.println("main 方法开始"); System.out.println("main 调用前"); method1; if (exception == null) { System.out.println("main 调用后"); } else if (exception instanceof RuntimeException) { RuntimeException e = (RuntimeException) exception; exception = null; String s = e.getMessage; System.out.println(s); } System.out.println("main 方法结束"); } public static void method1 { System.out.println("method1 开始"); method2; if (exception != null) return; System.out.println("method1 结束"); } public static void method2 { System.out.println("method2"); String s = "消息:未知异常"; exception = new RuntimeException(s); return; }}

“在第一个的示例中,依次调用了一些方法。在 method2 中,特意创建并抛出一个异常(创建了一个错误)。”

“ method2。并不创建异常,而是创建了 RuntimeException 对象,将其保存为 static 变量 exception,然后使用 return 语句立即退出方法。”

“在 method1 中,调用 method2 后,我们检查是否有异常。如果有异常,则 method1 立即结束。在 Java 中,每个方法调用之后,都会间接执行这样的检查。”

“在第二个实例中,使用 main 方法大致显示了使用 try-catch 结构捕获异常时发生的情况。如果没有异常,那么一切将继续正常运行。如果存在异常,并且与 catch 语句中指定的类型相同,则将对其进行处理。”

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/282244.html
0
随机主题
美国收割阴影笼罩全球, 中国主动出击, 用黄金对抗美元霸权盖丽丽:多才艺术家G1东欧爆种, 不然想晋级都难? 森林狼绅士横扫独行侠不在话下法国公开和美国对着干,马克龙真的醒悟了广东省: 打造覆盖粤港澳大湾区主要区域的低空空中交通走廊, 探索开辟粤琼低空航线妮基·黑利宣布支持特朗普: 政坛风云再起1894年, 18岁珍妃因得罪慈禧, 惨遭扒裤羞辱, 激烈反抗终致命丧黄泉你既抓不住人性,又跟不上时代,这是你赚钱迷茫的最大原因!团战开黑不卡顿? 直播追剧无延迟? 这吐血的网速终于让锐捷给我冲了!经济学门类包括哪些专业赖冠霖与神秘女性亲密约会曝光A股忽然全线下跌,真正原因明眼人都懂?逆向思维,把握逢低时机65年, 彭总拒绝主席让其复出的提议, 主席: 你先来我这一趟再说最大续航530km, 吉利银河E5动力曝光, 竞争比亚迪元UP?庆余年: 庆帝与五竹谁更强? 应对大宗师游刃有余, 镭射眼堪称无解江西南康给佛山下战书, 《人民日报》火速点赞, 这一战有意思了欧冠经典!16年欧冠马竞再遇死敌皇马,西蒙尼又一次痛失冠军贾跃亭: 孤独凄凉, 想回家!阿隆索颁奖典礼一个举动让人感动!优雅少帅、未来可期大众SUV起家的旗舰车型, 途观L在众多人眼里依旧能打最佳阵出炉后,小伙要拿7000万年薪,老詹创4个神迹,浓眉是唯一
最新回复(0)