[Java] 예외 처리(Exception)

JUNBEOM PARK·2022년 2월 7일
0

🧨 Java

목록 보기
14/33
post-thumbnail

🤔예외 처리

Java에서 예외(exception) 란 사용자의 잘못된 조작이나 개발자의 코딩 실수로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생되면 프로그램은 곧바로 종료된다는 점에서 에러와 동일하나, 예외는 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다.

회피 하는 방법: throws 예외 클래스

public void method() throws 예외 클래스 {
	예외 발생
}

적극적으로 처리: try ~ catch

try{
	예외 발생
}catch(예외 클래스){
	예외 메세지 출력
}finally{
	예외 발생과 관계없이 무조건 실행되는 영역
    close()
}
예시
package kosta.basic;

public class ExceptionExam {
	
	public static void add() throws Exception {
		int a = 10;
		int b = 10;
		
		a = a/b; //예외 발생 여부에 따라서 실행 순서를 알아야 한다.
	}
	public static void main(String[] args) {
		
		
		try {
			System.out.println("a");
			add();
			System.out.println("b"); // add() 에서 예외가 발생하므로 catch 절로 이동 (출력X)
		} catch (Exception e) {
			System.out.println("c");
			//e.printStackTrace();
		} finally {
			System.out.println("d");
		}
		
		
		System.out.println("Done!!!!");
	}
}

인위적으로 예외를 발생시키고자 할때 : throw new 예외클래스

public static void multi() throws Exception {
		int a = 10;
		int b = 10;
		
		if(a == b) {
			throw new Exception("같은 값");
		}
	}

😎 Exception 종류

1. NullPointerException

객체 참조가 없는 상태일 때 발생 한다. null 값을 갖는 참조 변수로 객체 접근 연산자인 도트(.)를 사용했을 때 발생한다. 객체가 없는 상태에서 객체를 사용하려 했으니 당연히 예외가 발생한다.

2. NumberFormatException

문자열로 되어 있는 데이터를 숫자로 변경하는 경우가 많은데, 문자열을 숫자로 변환하는 방법 중 가장 많이 사용되는 코드는 Integer.parseInt(String s) 메소드와 Double.parseDouble(String s) 메소드 이다.

매개값인 문자열이 숫자로 변환될 수 있다면 숫자를 정상적으로 리턴하지만, 숫자로 변환할 수 없는 문자열이 포함되어 있으면 java.lang.NumberFormatException을 발생시킨다.

3. ArrayIndexOutOfBoundsException

배열에서 인덱스 범위를 초과하여 사용할 때 발생 한다.
int[] arr = new int[3]; 이라 해 놓고 arr[4]=5; 같은 대입 연산을 시도할 때 발생할 수 있다.

4. ArithmeticException

숫자를 0으로 나눌 때 발생 한다.

profile
DB 엔지니어👍

0개의 댓글