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)
 */