[JAVA] 정리/클래스(Class)_타입(Type)

클래스_예외 처리2

쎈코 2023. 2. 23. 01:39

private static void m4()  throws Exception {

                                      (예외 떠넘기기 -> 나를 호출한 곳에서 에러 처리해야함)  //부산 지사


예외 미루기
- throws Exception
- 예외를 가지고 있는 코드에서 직접 예외 처리를 하지 않고, 예외 처리를 이 메소드를 호출한 곳에 떠넘기겠다.
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

 

 

try{
} catch (Exception e) {
    e.printStackTrace();
}

try {
     String name = reader.readLine();
} catch (IOException e) {           // TODO Auto-generated catch block
     e.printStackTrace();
}  //예외 발생 가능성을 가지고 있음

//Unhandled exception

 

 

 

요구사항] 숫자 1개 입력 > 처리
조건] 반드시 짝수만 입력
         홀수 입력 > 에러

1. 전통적인 방식(if문)
int num = 5;

if(num % 2 == 0) {
     System.out.println("업무 진행도...");
} else {
     System.out.println("예외 처리");
}    


2. 전용 방식(try문)
try {                                            //조건이 없음. 에러를 우선 터트리고 추후 문제수습하는 방식

     if(num % 2 ==1) {
     //강제로 예외 발생 > 예외 던지기
              throw new Exception(); //야구공 직접 생성 + 던지기
     }
          System.out.println("업무 진행..");
     } catch(Exception e) {
           System.out.println("예외 처리..");
     } 
//try-catch는 문법적으로 오류가 있을때만 에러 처리 -> 사용자가 만든 오류에 예외처리가 안됨