예외처리 - Throws

이상해씨·2023년 5월 10일
0

JAVA

목록 보기
37/40

Throws

  • Exception 처리 무시 및 자신을 호출하는 상위 메소드로 전달
  • 잠재적으로 발생할 수 있는 예외 발생 명시. 오류를 예측 처리
  • try catch 구문이 생성되지 않음.

  • try - catch와의 차이점
    1) 예외가 발생한 곳이 아닌, 자신을 호출한 상위 메소드로 Exception을 발생시킨다.
    (책임전가)
    2) try - catch는 예외가 발생한 곳에서 직접처리

  • 모든 경우를 try- catch로 사용할 경우. API를 사용하는 application에서는 어떠한 문제가 발생했는 지 알 수 없음.
  • throws를 사용할 경우, 개발자에게 예외를 전달하여 예외처리 및 상황 파악에 용이하게 할 수 있음.
    public class ExceptionExam {
        public static void main(String[] args) {
            int i = 10;
            int j = 0;
            try{// divide가 오류를 호출함으로 오류를 처리하는 코드 생성.
                int k = divide(i, j);
                System.out.println(k);
            } catch(ArithmeticException e){ // 어떤 오류가 발생하고 어떻게 처리할 것인지 알려줌.
                System.out.println("0으로 나눌수 없습니다.");
            }

        }

        public static int divide(int i, int j) throws ArithmeticException{// divide 함수에서 발생되는 atrithmeticException을 throws 로 호출하는 상위 메소드에 전달.
            int k = i / j;
            return k;
        }

    }

참고

profile
공부에는 끝이 없다

0개의 댓글