Test147 예외(Exception) 처리 / 예외 다시 던지기
Test147.java
public class Test147
{
public static void main(String[] args)
{
Test147 ob = new Test147();
try
{
int a = ob.getValue(-2);
System.out.println("a : " + a);
}
catch (Exception e)
{
System.out.println("printStackTrace......(main)");
e.printStackTrace();
}
}
public int getData(int data) throws Exception
{
if (data<0)
throw new Exception("data 가 0 보다 작습니다."); // ① 예외발생
return data + 10;
}
public int getValue(int value) throws Exception
{
int a=0;
try
{
a = getData(-2); // ② 예외발생
}
catch (Exception e) // ③ 예외 잡아내기
{
// ④ 잡아낸 예외에 대한 처리
System.out.println("printStackTrace......(getValue)");
e.printStackTrace();
// ⑤ 잡아낸 예외를 다시 던지기
throw e;
//-- 주석 처리 시 (즉, 잡아낸 예외를 다시 던지지 않을 경우)
// main() 메소드의 try~catch()는 실행되지 않는다.
}
return a;
}
}
cmd
printStackTrace......(getValue)
java.lang.Exception: data 가 0 보다 작습니다.
at Test147.getData(Test147.java:27)
at Test147.getValue(Test147.java:38)
at Test147.main(Test147.java:13)
printStackTrace......(main)
java.lang.Exception: data 가 0 보다 작습니다.
at Test147.getData(Test147.java:27)
at Test147.getValue(Test147.java:38)
at Test147.main(Test147.java:13)
계속하려면 아무 키나 누르십시오 . . .
'Study Note > Java' 카테고리의 다른 글
JAVA_ Test149_ 컬렉션 프레임워크(Collection Framework) (0) | 2018.06.17 |
---|---|
JAVA_ Test148_ 예외(Exception) 처리 / 다른 예외 다시 던지기 / ⓐ빨간폭탄 → ⓑ파란폭탄 (0) | 2018.06.17 |
JAVA_ Test145 & Test146_ 예외(Exception) 처리 (0) | 2018.06.17 |
JAVA_ Test144_ 예외(Exception) 처리 / 이름 입력[종료:Ctrl+z] : (0) | 2018.06.17 |
JAVA_ Test143_ 예외(Exception) 처리 / [종료:Ctrl+z] (0) | 2018.06.17 |
댓글