자바 프로그램을 개발할 때 예외처리를 하기 위해서 try-catch문을 작성하는데, 이번글에서는 예외에 대해서 간단하게 알아보고, try-catch의 사용방법과 자주 발생하는 예외에서 try-cat문의 예시를 알아보겠습니다.
예외(Exception)란?
프로그램을 개발할 때, 코드는 다양한 이유로 실행 중에 실패할 수 있습니다. 예를 들어, 0으로 나누기, 잘못된 인덱스를 가지고 배열 접근, 존재하지 않는 파일 열기 시도 등이 있습니다. 자바에서 이러한 문제들을 예외(Exception)라 부르며, 예외는 프로그램 실행 중에 발생하는 이벤트로, 프로그램의 정상적인 흐름을 방해합니다. 이를 효과적으로 처리하기 위한 구문이 바로 try-catch입니다.
try-catch의 간단한 사용법
try 블록 : 예외가 발생할 가능성이 있는 코드를 포함합니다.
catch : try 블록에서 발생한 예외를 처리합니다. 예외 클래스에 따라 다양한 예외를 처리할 수 있는 catch 블록을 여러 개 사용할 수 있습니다.
try {
//예외 발생 가능성이 있는 코드
} catch (ExceptionType1 ex1){
//ExceoptionType1 예외 처리 코드
} catch (ExceptionType2 ex2){
//ExceoptionType2 예외 처리 코드
}
만약, try 블록의 코드 중 예외가 발생한다며, try 블록의 실행을 멈추고, 발생한 예외의 해당하는 catch 블록으로 이동합니다. 일치하는 catch 블록이 없으면, 예외는 처리되지 않습니다.
NullPointerException의 try-catch 처리
null 값을 참조하려고 할 때 NullPointerException이 발생합니다.
try {
Object obj = null;
obj.toString();
} catch (NullPointerException e) {
System.out.println("Null 객체를 참조하고 있습니다.");
}
ArrayIndexOutBoundsException의 try-catch 처리
배열의 범위를 벗어난 접근을 시도할 때 발생합니다.
try {
int[] arr = {1,2,3};
int number = arr[3]; // 배열의 길이를 넘는 인덱스 접근
} catch (ArrayIndexOutBoundsException e) {
System.out.println("배열 범위를 벗어난 인덱스입니다.");
}
ArithmeticException의 try-catch 처리
수학적 계산이 불가능할 때, 예로 0으로 나눌 경우 발생합니다.
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.pritnln("0으로 나눌 수 없습니다.");
}
NumberFormatException의 try-catch 처리
문자열을 숫자로 변환할 수 없을 때 발생합니다.
try {
int number = Integer.parseInt("XYZ"); // 숫자가 아닌 문자열을 정수로 변환
} catch (NumberFomatException e) {
System.out.println("숫자로 변환할 수 없는 문자열입니다.");
}
예외 처리의 기본적인 목적은 프로그램을 안정적으로 유지하면서 예상치 못한 상황에 대비하는 것입니다. 이렇게 try-catch 블록을 사용하여 프로그램의 예외를 관리할 수 있습니다.
'Web Programing > JAVA' 카테고리의 다른 글
매개변수(Parameter)와 인자(Argument) 이해 (0) | 2024.02.20 |
---|---|
지역변수와 전역변수 이해하기 예시 (0) | 2024.02.19 |
자바 다양한 반복문(for문) 예시와 오류 (0) | 2024.02.17 |
JAVA 논리 비교 연산자의 종류와 사용 방법 (0) | 2024.02.16 |
자바 다양한 조건문(if문)의 예시와 오류 (0) | 2024.02.15 |