Java的异常处理的编写 没有遇到过

编写一个程序提示用户从键盘键入一个数,然后从该数上减去20,将得到结果作为定义一个数组的大小;如果定义的这个数组大小是个负数的话,程序就抛出一个自定义异常MyException;如果有这样的异常存在的话,编写一个catch 语句块来捕获该异常,并将该异常信息在catch 语句块中输出。


 Scanner sc = new Scanner(System.in);
        System.out.println("请输入数字:");
        int age = sc.nextInt();
        int length = age - 20;
        try {
            if (length < 0) {
                throw new MyException();
            }
          int[] arr = new int[length];
        } catch (MyException e) {
            e.printStackTrace();
        }

import java.util.Scanner;

public class Main {
    /**
     * 编写一个程序提示用户从键盘键入一个数,然后从该数上减去20,将得到结果作为定义一个数组的大小
     * 如果定义的这个数组大小是个负数的话,程序就抛出一个自定义异常MyException 如果有这样的异常存在的话,编写一个catch
     * 语句块来捕获该异常,并将该异常信息在catch 语句块中输出
     * 
     * @param args
     */
    public static void main(String[] args) {
        System.out.print("请输入:");
        Scanner scanner = new Scanner(System.in);
        try {
            int size = scanner.nextInt() - 20;
            if (size < 0) {
                throw new MyException();
            }
            int[] data = new int[size];
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            scanner.close();
        }

    }
}

class MyException extends Exception {
    public MyException() {
        System.out.println("数组大小不能为负数!");
    }
}