package ch01;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
class MyException {
String fileName;
public MyException(String fileName) {
this.fileName = fileName;
}
//throw란 던지기 (사용하는 녀석이 직접 예외 처리를 해라.)
public String readFile() throws IOException {
FileInputStream fis = new FileInputStream(fileName); //예외처치문1
Properties properties = new Properties();
properties.load(fis);//예외처치문2
//처치문2가 좀더 상위의 exception이라 하나로묶어버림
String dbType = properties.getProperty("DBTYPE"); //DBTYPE= 키값
return dbType;
}
}
public class ExceptionEx3 {
public static void main(String[] args) {
String dbType = null; //초기값을 주어야 결과값이 나올때 빨간줄이뜨지않음
//객체 생성(메모리에 올린다)
MyException exception = new MyException("b.txt");
try {
dbType = exception.readFile();
} catch (IOException e) {
e.printStackTrace();
}
//쓰는 시점에서 try문을 사용
System.out.println("결과값 : " + dbType);
}//메인함수내에 있는것이 지역변수
}