본문 바로가기
Study Note/Java

JAVA_ Test148_ 예외(Exception) 처리 / 다른 예외 다시 던지기 / ⓐ빨간폭탄 → ⓑ파란폭탄

by 시뮝 2018. 6. 17.
728x90


Test148  예외(Exception) 처리 / 다른 예외 다시 던지기 / ⓐ빨간폭탄 → ⓑ파란폭탄

Test148.java

public class Test148

{

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 new Exception("value 가 음수입니다.");

}

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)

{

Test148 ob = new Test148();


try

{

// ⓑ 유형 파란폭탄 잡아내기

int a = ob.getValue(-2);

System.out.println("a : " + a);

}

catch (Exception e)

{

// ⓑ 유형 파란 폭탄 처리

System.out.println("printStackTrace......(main)");

e.printStackTrace();

}

}

}


cmd

printStackTrace......(getValue)

java.lang.Exception: data 가 0 보다 작습니다.

        at Test148.getData(Test148.java:31)

        at Test148.getValue(Test148.java:12)

        at Test148.main(Test148.java:43)

printStackTrace......(main)

java.lang.Exception: value 가 음수입니다.

        at Test148.getValue(Test148.java:22)

        at Test148.main(Test148.java:43)

계속하려면 아무 키나 누르십시오 . . .







728x90

댓글