/*
* TestException.java
* 2017年12月6日 下午2:37:47
* Copyright 2017 Fosun Financial. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Please contact Fosun Corporation or visit
* www.fosun.com
* if you need additional information or have any questions.
* @author flyer
* @version 1.0
*/
package testFuxing;
/**
* 类功能描述
* @version
* @author flyer 2017年12月6日下午2:37:47
* @since 1.8
*/
public class TestException {
static int i = 0;
public static void main(String args[]) {
testDigui();
}
private static void testDigui() {
try {
int t = i / 0;
}
catch (Exception e) {
//new RuntimeException(e);
if (i < 3) {
System.out.println("递归前:" + i);
i++;
testDigui();
System.out.println("递归后:" + i);
}
i = 0;
System.out.println("最后执行:" + i);
}
}
}
输出为:
递归前:0
递归前:1
递归前:2
最后执行:0
递归后:0
最后执行:0
递归后:0
最后执行:0
递归后:0
最后执行:0
private static void testExceptionOrder1() {
int q[]= {1,0,8,19} ;
try {
for(int m:q) {
int t = 100 / m;
System.out.println("t:" + t);
}
}
catch (Exception e) {
System.out.println("最后执行:" + e);
}
}
private static void testExceptionOrder2() {
int q[]= {1,0,8,19} ;
for(int m:q) {
try {
int t = 100 / m;
System.out.println("t:" + t);
}
catch (Exception e) {
// e.printStackTrace();
System.out.println("最后执行:" + e);
}
}
}
第一个函数 会抛出异常,后面不执行
t:100
最后执行:java.lang.ArithmeticException: / by zero
第二个函数 抛出异常,不影响后面执行的
t:100
最后执行:java.lang.ArithmeticException: / by zero
t:12
t:5
本文介绍了一个递归异常处理示例及两种不同的数组遍历异常处理方式。第一种方式使用单一的try-catch块来捕获整个数组遍历过程中可能出现的异常,而第二种方式则在每次数组元素操作时都包含try-catch块,确保即使出现异常也能继续执行后续操作。
994

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



