今天在技术讨论群里谈到了关于异常的问题,对于 异常捕获后,不知道程序的何去何从。 感觉不是很熟,概念也很模糊,所以自己做了个demo来增强记忆一下。
public class ExceptionTest {
/**
* @author zhao33699 */
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓********在捕获chufa3的异常后,chufa3终止,继续向下执行chufa1和chufa2↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
chufa3();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
chufa1();
chufa2();
}
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓********该方法,在内部抛出捕获异常后,该循环继续↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
public static void chufa1() {
for (int i = 0; i < 10; i++) {
try {
System.out.println(100 / i);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
System.out.println("chufa1程序运行完毕");
}
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓********该方法,在内部抛出捕获异常后,该循环终止↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
public static void chufa2() {
try {
for (int i = 0; i < 10; i++) {
System.out.println(100 / i);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.out.println("chufa2程序运行完毕");
}
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓********该方法,在外部抛出捕获异常后,该方法终止↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
public static void chufa3() throws Exception {
for (int i = 0; i < 10; i++) {
System.out.println(100 / i);
}
System.out.println("chufa3程序运行完毕");
}
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
}
还望大家不吝赐教……
本文通过三个具体的方法示例,详细探讨了Java中异常处理的不同情况:包括如何在捕获异常后继续执行后续代码、如何处理循环中的异常以及如何声明并抛出异常。这些示例有助于理解异常处理的基本原则。
1252

被折叠的 条评论
为什么被折叠?



