▼ Test152
public class Test152
{
public static void main(String[] args) //throws Exception 안해줘도 됨. 10번에서 잡아줬기 때문에..
{
Test152 ob = new Test152();
try
{
int a = ob.getValue(-2); // 8. 예외 발생
System.out.println("a : " + a);
}
catch (Exception e) // 9. 예외 잡아내기
{
// 10. 잡아낸 예외에 대한 처리
System.out.println("printStackTrace............");
e.printStackTrace();
}
}
// 2. 발생한 예외 던지기
public int getData(int data) throws Exception
{
if (data < 0)
{
// 1. 예외 발생
throw new Exception("data 가 0보다 작습니다.");
}
return data + 10;
}
// check~!!!
// 7. 잡아낸 예외를 다시 던질 수 있도록 처리
public int getValue(int value) throws Exception
{
int a = 0;
try
{
a = getData(-2); // 3. 예외 발생
}
catch (Exception e) // 4. 예외 잡아내기
{
// 5. 잡아낸 예외에 대한 처리
System.out.println("printStackTrace..............");
e.printStackTrace();
// check~!!!
// 6. 잡아서 처리한 예외를 다시 발생
throw e;
}
return a;
}
}
▼ Test153
public class Test153
{
public int getValue(int value) throws Exception // 7. 예외 던지기 (파랑 폭탄)
{
int a = 0;
try
{
a = getData(-2); // 3. 예외 발생 (빨강 폭탄)
}
catch (Exception e) // 4. 예외 잡아내기 (빨강 폭탄)
{
// 5. 예외 처리 (빨강 폭탄)
System.out.println("printStackTrace...........");
e.printStackTrace();
// check~!!
// 6. 예외 발생 (파랑 폭탄)
throw new Exception("value가 음수입니다.");
}
return a;
}
public int getData(int data) throws Exception // 2. 예외 던지기 (빨강 폭탄)
{
if (data < 0)
{
throw new Exception("data 가 0 보다 작습니다."); // 1. 예외 발생 (빨강 폭탄)
}
return data + 10;
}
public static void main(String[] args)
{
Test153 ob = new Test153();
try
{
int a = ob.getValue(-2); // 8. 예외 발생 (파랑 폭탄)
System.out.println("a : " + a);
}
catch (Exception e) // 9. 예외 잡아내기 (파랑 폭탄)
{
System.out.println("printStackTrace...........");
e.printStackTrace();
}
}
}