package com.it;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test02 {
public static void main(String[] args){
// test01();
// try {
// test02();
// } catch (ParseException e) {
// e.printStackTrace();
// }
test03();
System.out.println(test04());
}
// 测试try-catch-finally
public static void test01(){
FileReader reader = null;
try{
reader = new FileReader("/Users/cuixue/Desktop/a.txt");
char c1 = (char)reader.read();
char c2 = (char) reader.read();
System.out.println("文件的内容:"+c1+c2);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (reader!=null){
try{
reader.close();
}catch (IOException e) {
e.printStackTrace();
}
}
}
}
// 测试throws声明式抛出异常
public static void test02() throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String str = "2012-12-12";
Date date = df.parse(str);
System.out.println(date);
}
/**
"try-with-resource":可以自动关闭实现了Closable接口的类
将"try-catch-finally:try-catch
是一种语法糖,编译器帮我们做了处理,转化成了"try-catch-finally"
*/
public static void test03(){
try(FileReader reader = new FileReader("/Users/cuixue/Desktop/a.txt")){
char c1 = (char) reader.read();
char c2 = (char) reader.read();
System.out.println("文件的内容:"+c1+c2);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* finally里有return则执行,没有则执行try里面的return,也就是说先执行完finally,再执行return
* @return
*/
public static int test04(){
int a = 10;
System.out.println("step01");
try{
System.out.println("step02");
a = 20;
return a;
}catch (Exception e){
e.printStackTrace();
}finally {
a = 40;
System.out.println("step03");
return a;
}
}
}
Java-异常机制checkedException
最新推荐文章于 2024-10-18 13:02:57 发布