[Java] Throws

Kwon·2023년 11월 1일
0

Java

목록 보기
12/15

사진 출처 : https://namu.wiki/

Throws

throws

> throws는 예외가 발생했을 떄 예외를 호출한 쪽에서 처리하도록 던져준다.


divide 함수에서 int k를 연산한 후 반환하지만, main에서 i를 0으로 나누고 있기에 에러가 발생한다.

여기서 이 ArithmeticException이란 어떤 에러를 나타낼까?

ArithmeticException 에러

  • 존재하지 않는 파일에 접근
  • 정수를 0으로 나눔
  • 배열 인덱스 잘못 허용하는 경우

등등.....

다시 돌아와 소스코드를 고쳐주자면

public class ExceptionExam2{
    public static void main(String[] args) {
        int i = 10;
        int j = 0;
         try{
                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{
        int k = i / j;
        return k;
    }
}

divide 함수에 throw를 사용함으로써 main에서 호출한 쪽으로 넘겨주고 메인에서 try, catch문을 활용해준다면, 에러가 걸리진 않고 catch문에서 에러처리 대신 선언한 출력문이 출력될 것이다.

profile
📲 @bu_kwon_2 / 💻 dnu05043.log / ⌨ Back-end / 🦁 LikeLion

0개의 댓글