안녕하세요! 이번에는 자바에서 예외 처리와 사용자 정의 예외에 대해 알아보겠습니다. 예외 처리는 프로그램 실행 중 발생할 수 있는 예외 상황에 대비하여 적절한 대응을 하는 것을 말합니다. 자바에서는 예외를 처리하기 위해 try-catch 문을 사용하며, 예외를 직접 발생시키기 위해 throw와 throws 키워드를 사용할 수 있습니다. 또한, 필요에 따라 사용자 정의 예외를 만들어 특정한 상황에 대한 예외를 처리할 수도 있습니다.
8.1 예외의 개념
예외는 프로그램 실행 중 발생하는 오류나 예기치 않은 상황을 말합니다. 이러한 예외 상황은 프로그램의 정상적인 흐름을 방해할 수 있으며, 이를 처리하지 않으면 프로그램은 비정상적으로 종료될 수 있습니다. 자바에서 예외는 Throwable 클래스를 상속받는 클래스들로 표현되며, 예외는 체크 예외와 언체크 예외로 구분됩니다.
8.2 try-catch 문
try-catch 문은 예외가 발생할 수 있는 코드 블록을 감싸고, 예외가 발생한 경우 해당 예외를 처리하는 코드 블록을 실행합니다. try 블록에서 예외가 발생하면 catch 블록으로 제어가 이동하여 예외를 처리합니다.
아래는 try-catch 문의 예제 코드입니다.
try {
// 예외가 발생할 수 있는 코드
// 예외가 발생하면 catch 블록으로 이동
} catch (ExceptionType1 e1) {
// ExceptionType1에 해당하는 예외를 처리하는 코드
} catch (ExceptionType2 e2) {
// ExceptionType2에 해당하는 예외를 처리하는 코드
} finally {
// 예외 발생 여부와 상관없이 항상 실행되는 코드
}
8.3 다중 catch 문
다중 catch 문은 여러 종류의 예외를 처리하기 위해 사용됩니다. 각각의 catch 블록은 특정한 예외 타입에 대한 예외 처리 코드를 포함하고 있습니다. 예외 타입에 해당하는 catch 블록 중 가장 먼저 일치하는 블록이 실행됩니다.
아래는 다중 catch 문의 예제 코드입니다.
try {
// 예외가 발생할 수 있는 코드
// 예외가 발생하면 catch 블록으로 이동
} catch (ExceptionType1 e1) {
// ExceptionType1에 해당하는 예외를 처리하는 코드
} catch (ExceptionType2 e2) {
// ExceptionType2에 해당하는 예외를 처리하는 코드
} catch (ExceptionType3 e3) {
// ExceptionType3에 해당하는 예외를 처리하는 코드
}
8.4 예외의 throw와 throws
throw 키워드는 예외를 직접 발생시킬 때 사용됩니다. 예외를 throw 하면 해당 예외를 처리하는 catch 블록으로 제어가 이동합니다. throws 키워드는 메서드가 예외를 발생시킬 수 있음을 선언하는 데 사용됩니다.
아래는 throw와 throws의 예제 코드입니다.
public void method() throws CustomException {
if (/* 예외 상황 */) {
throw new CustomException("예외 메시지");
}
}
8.5 사용자 정의 예외
사용자 정의 예외는 기존 예외 클래스를 상속받아 새로운 예외 클래스를 만드는 것을 말합니다. 사용자 정의 예외를 만들어 특정한 예외 상황에 대한 예외를 처리할 수 있습니다.
아래는 사용자 정의 예외의 예제 코드입니다.
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
// 사용자 정의 예외 발생 예제
public void method() throws CustomException {
if (/* 예외 상황 */) {
throw new CustomException("예외 메시지");
}
}
이상으로 예외 처리와 사용자 정의 예외에 대해 알아보았습니다. 예외를 처리하는 try-catch 문, 다중 catch 문, throw와 throws 키워드를 활용하여 예외를 처리하고 예외를 직접 발생시킬 수 있습니다. 또한, 필요에 따라 사용자 정의 예외를 만들어 특정한 예외 상황에 대한 예외를 처리할 수 있습니다. 이를 활용하여 안정적이고 오류 처리가 잘 이루어진 프로그램을 작성해 보세요! 감사합니다!
'JAVA' 카테고리의 다른 글
JAVA | 10. 스레드 (0) | 2023.06.10 |
---|---|
JAVA | 9. 입출력 (0) | 2023.06.10 |
JAVA | 7. 객체 지향 프로그래밍 (0) | 2023.06.09 |
JAVA | 6. 메서드 (0) | 2023.06.09 |
JAVA | 5. 배열 (0) | 2023.06.06 |
댓글