Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
★ 153 - Java 예외처리(Exception Handling) : 총 두 가지의 예외 생성하여 빨강, 파랑 폭탄으로 구분하고 그 예외(폭탄)들이 어떻게 처리되는지를 번호 순서대로 나타낸 프로그램 본문
[Java]/Program source (java)
★ 153 - Java 예외처리(Exception Handling) : 총 두 가지의 예외 생성하여 빨강, 파랑 폭탄으로 구분하고 그 예외(폭탄)들이 어떻게 처리되는지를 번호 순서대로 나타낸 프로그램
Jelly-fish 2023. 9. 20. 16:06/* ============================================
■■■ 예외 처리(Exception Handling) ■■■
=============================================*/
// 다른 예외 다시 던지기
public class Test153
{
public int getValue(int value) throws Exception // ⑦ 예외 던지기
{ // (파랑 폭탄)
int a = 0;
try
{
a = getData(-2); // ③ 예외 발생
// (빨강 폭탄)
}
catch (Exception e) // ④ 예외 잡아내기
{ // (빨강 폭탄)
// ⑤ 예외 처리(빨강 폭탄)
System.out.println("printStackTrace ........................");
e.printStackTrace();
// check~!!!
// ⑥ 예외 발생(파랑 폭탄)
throw new Exception("value 가 음수입니다.");
// 새롭게 예외를 발생시켰기 때문에 무조건 throws Exception 을 써줘야 한다.
}
return a;
}
public int getData(int data) throws Exception // ② 예외 던지기
{ // (빨강 폭탄)
if (data < 0)
{
throw new Exception("data 가 0 보다 작습니다."); // ① 예외 발생
} // (빨강 폭탄)
return data + 10;
}
public static void main(String[] args)
{
Test153 ob = new Test153();
try
{
int a = ob.getValue(-2); // ⑧ 예외 발생
System.out.println("a : " + a); // (파랑 폭탄)
}
catch (Exception e) // ⑨ 예외 잡아내기
{ // (파랑 폭탄)
System.out.println("printStackTrace ........................");
e.printStackTrace();
}
}
}
// 실행 결과
/*
printStackTrace ........................
java.lang.Exception: data 가 0 보다 작습니다.
at Test153.getData(Test153.java:37)
at Test153.getValue(Test153.java:15)
at Test153.main(Test153.java:51)
printStackTrace ........................
java.lang.Exception: value 가 음수입니다.
at Test153.getValue(Test153.java:26)
at Test153.main(Test153.java:51)
계속하려면 아무 키나 누르십시오 . . .
*/