Contents
16.6. throws与声明方法抛出异常¶
throws语句是在方法的声明中使用来抛出异常
HelloWorld5.java
package com.a51cto;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.xml.crypto.Data;
public class HelloWorld5 {
public static void main(String[] args) {
try {
Date date = readDate();
System.out.println("读取的日期 = " + date);
} catch (IOException e) {
// TODO: handle exception
System.out.println("处理IOException......");
e.printStackTrace();
} catch (ParseException e) {
// TODO: handle exception
System.out.println("处理ParseException.....");
e.printStackTrace();
}
}
public static Date readDate() throws IOException,ParseException {
// 自动资源管理
FileInputStream readfile = new FileInputStream("readme.txt");
InputStreamReader ir = new InputStreamReader(readfile);
BufferedReader in = new BufferedReader(ir);
// 读取文件中的一行数据
String str = in.readLine();
if (str == null) {
return null;
}
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(str);
return date;
}
}
/*
处理IOException......
java.io.FileNotFoundException: readme.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at com.a51cto.HelloWorld5.readDate(HelloWorld5.java:35)
at com.a51cto.HelloWorld5.main(HelloWorld5.java:19)
*/