ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] Exception의 개념
    Java 2021. 12. 27. 02:32
    728x90

    예외(Exception)

    • 예상한 범위를 벗어나는 방식으로 프로그램을 동작시켜 예상치 못한 결과를 내는 경우
    • 배열을 다루는 프로그램에서 범위를 벗어난 인덱스를 호출하는 것과 같은 상황
    • 0으로 나누는 경우

    예외는 오류(컴파일 에러, 시스템 오류)와 달리 피할 수 있게 만들 수 있음.

     

    예외 처리 

      프로그램을 만들 사람이 설계한 의도대로 운영되지 않았기 때문에 발생함.

      예외가 발생할 것으로 예상되는 예외를 처리함.

    Exception 클래스 

     

      일반적으로 ArithmeticException(RuntimeException으로부터 상속받은 클래스)를 사용하고 Exception 클래스를 이용해    여러 예외를 포괄적으로 처리할 수 있음. 

     

      RuntimeException는 Exception 클래스로부터 상속받은 클래스. try에서 발생한 예외는 여러 개의 catch 문을 순서대로
      거쳐가며 해당 catch 문의 예외가 이번에 발생한 예외와 맞는지 확인하고 실행함.

    catch 문의 e 변수 
      e라는 인스턴스를 통해 예외가 발생한 원인에 대해 알 수 있는데 getMessage 메소드를 이용하면 알 수 있음.
      그러나, 의도에 따라 정보가 노출될 수 있으므로 서버 측에서 로그 파일 등을 이용해 관리자만 볼 수 있게 처리함.

     

     

    public class ExceptionApp {
    	public static void main(String[] args) throws ArithmeticException {
    		System.out.println(1);
    		int[] scores = {10, 20, 30};
    		
    		try {
    			System.out.println(2);
    			System.out.println(scores[3]); 
                		//ArrayIndexOutOfBoundsException
    		
    			System.out.println(3);
                
    			System.out.println(2/0); 
                		//ArithmeticException
                
    			System.out.println(4);
    		}catch(ArithmeticException e) {
    			System.out.println("계산 예외");
    		}catch(ArrayIndexOutOfBoundsException e) {
    			System.out.println("인덱스 예외");
    			System.out.println(e.getMessage());
    		}
    		System.out.println(5);
    	}
    
    }
    728x90

    'Java' 카테고리의 다른 글

    [JAVA] 인터페이스(Interface)란?  (0) 2021.12.28

    댓글

Designed by Tistory.