Java 异常入门(2/2)

652 查看

创建和抛出异常对象

当我们的某个方法执行当中遇到错误,无法继续处理的时候,我们也可以自己创建异常对象并抛出,交给方法的调用者处理。抛出异常的方式是使用 throw 关键字。下面是一个例子:

// 示例1:用户输入一个日期,求该日是星期几
public static void main(String[] args) throws Exception {

    // 输入日期字符串
    System.out.print("请输入一个日期(yyyy-MM-dd):");
    String dateString = new Scanner(System.in).nextLine();

    // 检查日期字符串格式
    if (!dateString.matches("^\\d{4}\\-\\d{2}\\-\\d{2}$")) {
        throw new IllegalArgumentException("日期格式不正确");  // 抛出异常
    }

    // 将字符串转化为时间类型并取其是星期几
    String weekDays = "日一二三四五六";
    Calendar c = Calendar.getInstance();
    c.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dateString));
    int weekDay = c.get(Calendar.DAY_OF_WEEK) - 1;

    System.out.println(dateString + " 是星期" + weekDays.charAt(weekDay));
}

在这个例子当中,有一个检查日期字符串格式的判断。如果日期字符串不符合格式,则抛出一个 java.lang.IllegalArgumentException 异常。示例 1 的其他部分这里不多做解释。

(未完)