예외 처리와 자바의 예외 클래스
2023. 11. 11. 02:49ㆍ개발 문서/Java
728x90
반응형
예외 처리는 프로그램 실행 중에 발생할 수 있는 예외 상황을 대비하여 처리하는 메커니즘입니다. 자바에서는 예외 처리를 위해 try
, catch
, finally
, throw
, throws
등의 키워드를 사용합니다. 또한, 예외는 클래스로 표현되며, 자바에서는 예외 클래스의 계층 구조를 가지고 있습니다.
예외 처리 구문:
try-catch:
try
블록 안에서 예외가 발생할 수 있는 코드를 작성하고, 예외가 발생하면catch
블록에서 예외를 처리합니다.try { // 예외가 발생할 수 있는 코드 int result = 10 / 0; } catch (ArithmeticException e) { // 예외가 발생했을 때 처리하는 코드 System.out.println("예외 발생: " + e.getMessage()); }
finally:
finally
블록은 예외 발생 여부와 관계없이 항상 실행되는 코드를 작성할 때 사용됩니다.try { // 예외가 발생할 수 있는 코드 } catch (Exception e) { // 예외 처리 코드 } finally { // 예외 발생 여부와 상관없이 항상 실행되는 코드 }
throw와 throws:
throw
키워드를 사용하여 예외를 명시적으로 발생시킬 수 있습니다.throws
키워드를 사용하여 메소드에서 발생할 수 있는 예외를 선언합니다.void myMethod() throws MyException { // 메소드 내용 if (someCondition) { throw new MyException("Custom Exception Message"); } }
자바의 예외 클래스 계층 구조:
자바의 예외 클래스들은 Throwable
클래스를 기반으로 하는 계층 구조를 가지고 있습니다. 주요한 예외 클래스들은 다음과 같습니다:
Throwable
: 모든 예외 클래스의 최상위 클래스Error
: 프로그램이 복구하기 어려운 심각한 예외를 나타냄 (OutOfMemoryError 등)Exception
: 일반적인 예외를 나타냄RuntimeException
: 실행 중 발생하는 예외 (NullPointerException, ArrayIndexOutOfBoundsException 등)IOException
: 입출력과 관련된 예외 (FileNotFoundException 등)
프로그래머가 직접 정의하는 사용자 정의 예외도 가능하며, 이들은 주로 어플리케이션에서 발생하는 특정한 상황을 나타내기 위해 사용됩니다. 사용자 정의 예외는 Exception
클래스를 상속하여 구현할 수 있습니다.
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
예외 처리는 프로그램의 안정성을 높이고 예기치 못한 상황에 대비하는데 중요한 역할을 합니다. 항상 어떤 예외가 발생할 수 있는지 고려하고, 적절한 예외 처리를 수행하는 것이 좋은 프로그래밍 습관입니다.
'개발 문서 > Java' 카테고리의 다른 글
인터페이스와 추상 클래스의 활용 (0) | 2023.11.11 |
---|---|
다형성과 상속: 자바의 중요한 개념 (0) | 2023.11.11 |
자바의 함수와 메소드 작성법 (0) | 2023.11.11 |
배열과 리스트: 자바에서의 활용 (0) | 2023.11.11 |
제어문 (if, else, switch)의 활용 (0) | 2023.11.11 |