java 代码如下:
(1)
package trycatch;
public class TryCatch {
public static void a (int i) {
try {
System. out.println(3 / ( i-3));
} catch(Exception ex) {
System. out.println( "发生exception 了!");
}
}
public static void b (int i) {
a(i );
}
public static void c (int i) {
b(i );
}
public static void main (String[] args) {
int i = 0;
while( i++ < 10) {
c(i );
}
}
}
结果:
-1
-3
发生exception 了!
3
1
1
0
0
0
0
(2)
package trycatch;
public class TryCatch {
public static void a (int i) throws Exception {
System. out.println(3 / ( i-3));
}
public static void b (int i) throws Exception {
a(i );
}
public static void c (int i) throws Exception {
b(i );
}
public static void main (String[] args ) {
int i = 0;
while( i++ < 10) {
try {
c(i );
} catch(Exception ex) {
System. out.println( "发生exception 了!");
}
}
}
}
-1
-3
发生exception 了!
3
1
1
0
0
0
0
(3)下面和上面两个说的是两件事,这个是因为try 在while 外面,所以失败后,直接执行try 外面的语句了
package trycatch;
public class TryCatch {
public static void a (int i) throws Exception {
System.out.println(3 / (i - 3));
}
public static void b (int i) throws Exception {
a(i);
}
public static void c (int i) throws Exception {
b(i);
}
public static void main (String[] args) {
int i = 0;
try {
while (i++ < 10) {
c(i);
}
} catch (Exception ex) {
System.out.println( "发生exception 了!");
}
}
}
-1
-3
发生exception 了!