유디의 공간정보·개발일기
H5-1. 0723_ 예외처리 테스트(계속) 본문
[ExceptionTest2]
package myjdbc;
public class ExceptionTest2 { //예외처리는 throws절 또는 try-catch문으로 한다.
public static void main(String[] args) {
System.out.println("start"); //실행순서 : 5-7-8 a호출- 27 -39 -11-13으로 끝난다.
try { //38줄이 false가 되면 : 5-7-8 a호출- 27 -39 -다시 8로-9/ -13-15?
System.out.println("before");
a();
System.out.println("after");
} catch (Exception e) { //던져진 객체를 e라는 이름으로 참조하며
System.out.println(e.getMessage()); //여기서 "haha"가 출력된다.
} finally {
System.out.println("final");
}
System.out.println("end");
//컴파일오류이유: 정의된 a메서드(함수)(아래아래)에 throws Exception이 정의되어 있으므로 예외처리를 해줘야 된다.
// 또는 메서드를 정의할 때 try-catch로 예외처리를 하면 메서드 자체만으로 가능
}
// private static void a() throws Exception {
// if(true) {
// throw new Exception("haha");
// }
// }
private static void a() throws Exception {
b();
} //정의된 b함수(아래아래)에 throws절이 있으므로 반드시 예외처리를 해줘야 된다.
// private static void a() {
// try {
// b();
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
private static void b() throws Exception {
if(false) {
throw new Exception("haha"); //생성자호출하고 객체생성해서 던진다. --> 10줄
}
System.out.println("b");
}
}
[ExceptionTest3]
package myjdbc;
import java.io.FileReader;
public class ExceptionTest3 {
public static void main(String[] args) {
FileReader fr = new FileReader("List.txt");
//왜 컴파일오류가 나는지? --> 생성자호출하는 것이고,
// FileReader가 throws절로 정의되어 있으니까 예외처리를 해줘야 하는데 안해줘서 컴파일도 안됐기때문
}
}
'JDBC' 카테고리의 다른 글
H5-4. 0723_ JDBC Test (0) | 2021.10.31 |
---|---|
H5-3. 0723_ JDBC 10번 과제코드 (0) | 2021.10.31 |
H5-2. 0723_ 9번 과제코드, 문자열 거꾸로 출력하기 (0) | 2021.10.31 |
H4-2. 0722_ JDBC 연동, 예외처리(throws Exception)와 try-catch절 (0) | 2021.10.31 |
H4-1. 0722_ JDBC 개요 , JDBC 프로그래밍 절차 (0) | 2021.10.31 |