1 import javax.swing.*;class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception("Hello.Exception!"); } catch ( ArithmeticException e) { System.out.println("被0除. "+ e.getMessage()); } catch (Exception e) { if (e instanceof ArithmeticException) System.out.println("被0除"); else { System.out.println(e.getMessage()); } } finally { JOptionPane.showConfirmDialog(null,"OK"); } }}
1 public class CatchWho {
2 public static void main(String[] args) {
3 try {
4 try {
5 throw new ArrayIndexOutOfBoundsException();
6 }
7 catch(ArrayIndexOutOfBoundsException e) {
8 System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch");
9 }
10
11 throw new ArithmeticException();
12 }
13 catch(ArithmeticException e) {
14 System.out.println("发生ArithmeticException");
15 }
16 catch(ArrayIndexOutOfBoundsException e) {
17 System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch");
18 }
19 }
20 }
1 public class CatchWho2 {
2 public static void main(String[] args) {
3 try {
4 try {
5 throw new ArrayIndexOutOfBoundsException();
6 }
7 catch(ArithmeticException e) {
8 System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch");
9 }
10 throw new ArithmeticException();
11 }
12 catch(ArithmeticException e) {
13 System.out.println("发生ArithmeticException");
14 }
15 catch(ArrayIndexOutOfBoundsException e) {
16 System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch");
17 }
18 }
19 }