본문 바로가기

PL(ProgrammingLanguage)/JAVA

Exception - 예외

아래와 같이 코드를 실행해보자.

package Java02;

public class ExceptionExam {
    public static void main(String[] args) {

        int a = 10;
        int b = 0;
        int c = a/b;

        System.out.println(c);
    }

}

위와 같이 실행시키면 아래와 같이 ArithmeticException이라는 것이 발생을 하면서 프로그램이 종료가 되어버린다.

Exception이 발생하게 되면 발생한 지점부터 프로그램은 종료되어 버린다.

java는 정수를 0으로 나눌 때 예외라는 것을 발생시킨다.

 

이렇듯 프로그램이 실행 중에 예기치 못한 사건을 예외라고 한다.

이렇게 예외상황이 발생했을 때 어떻게 해야 할까?

 

예외 상황에 대비하여 예외 처리를 하자.


1.  try - catch - finally

 

  • try {} - 오류가 발생할 것 같은 부분을 try블록 안에다 넣는다.
  • try 블록 안에서 발생할 수 있는 오류와 관련된 Exception타입을 catch블록에 처리
  • finally 블록(생략 가능)
    finally 블록은 오류를 발생시켰던 발생하지 않았던 무조건 실행할 수 있는 것이 finally블록이다.

try{
	...
} 
catch(예외클래스 변수명){
	// 예외가 발생했을 때 실행할 수 있는 코드로 처리

}finally{
	...
}

출처 - 프로그래머스 입문강의

 

- try 블록에서 여러 종류의 Exception이 발생한다면 catch 블록도 여러 개 둘 수 있다.

- Exception 클래스들은 모두 Exception 클래스를 상속받게 되는데,

  예외클래스에 Exception이라고 두게 된다면 어떤 오류를 발생하더라도 하나의 catch 블록에서 모든 오류를 처리할 수 도 있다.