这怎么能够正确 捕获异常并处理

public class Ex5 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        int num[]=new int[10];
        System.out.println("num[10] is"+num[10]);
    }catch(RuntimeException ex) {
        System.out.println("RuntimeException");
    }catch(ArithmeticException ex) {
        System.out.println("ArithmeticException");
        
    }

}

}

先ArithmeticException 再 RuntimeException 处理异常要按照异常从小到大的顺序去catch ,ArithmeticException继承了RuntimeException,所以先catch ArithmeticException 再catch RuntimeException

 try {
            int num[]=new int[10];
            System.out.println("num[10] is"+num[10]);
        }catch(ArithmeticException ex) {
            System.out.println("ArithmeticException");

        }catch(RuntimeException ex) {
            System.out.println("RuntimeException");
            }