ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

Exception

 
 

Java

 

시스템을 안정적이고  유지시킵니다.

 

What ?

Exception

💡 프로그램 실행 중 에러나 예외가 발생했을 때, 이를 처리하기 위해 사용하는 기능입니다.


💡 프로그램의 흐름을 유지해 프로그램 안정성을 향상시킵니다.

💡 문제가 발생한 위치와 이유를 쉽게 파악합니다.


💡 코드의 오류 처리 구조가 명확해져 유지보수가 원활해집니다.


 


 

예외  ?   에러  ?

 💡 예외 
       -  프로그램 실행 중 발생하는 예기치 못한 상황 입니다. 
       - 
애플리케이션 수준에서 발생하며, 개발자가 처리해야 하는 문제입니다.

           ex  )
Checked Exceiption( 컴파일 시 반드시 처리 ),
                    Unchecked Exception( 런타임 시 발생 )


💡
에러
      -  시스템 수준에서 발생하며, 복구가 불가능한 심각한 문제 입니다.
      -  시스템 수준에서 발생하며, 일반적으로 개발자가 처리하지 않아서 발생합니다.

          ex
메모리 부족 (OutOfMemoryError ),
                  스택 오버플로 
( StackOverflowError )

 


How ?

Exception

키워드 설명 예시
try-catch   예외가 발생할 코드 : try 


  예외처리를 할 코드 : catch
     try {
         int result = 10 / 0;
     } catch (ArithmeticException e) {

         System.out.println("예외 처리: " + e.getMessage())
     }
finally   예외와 관계없이 항상 실행


  자원 해제(close)에 사용
     try {
          int result = 10 / 2;
      } catch (ArithmeticException e) {
           System.out.println("예외 처리: " + e.getMessage());
      } finally {
          System.out.println("항상 실행됩니다.");
      }
throw  명시적인 예외 발생시 사용      public void checkAge(int age) {
          if (age < 18) {
               throw new IllegalArgumentException("18세 이상만");
             }
     }
throws  메서드 선언부에 사용

 예외 가능성알림
     public void readFile(String filePath) throws IOException {
          FileReader reader = new FileReader(filePath);
     }

 


 

사용자 정의 예외

💡  기본 제공되는 예외 외에 사용자가 정의한 예외를 만들 수 있습니다.
// 사용자 정의 예외 예시

class InvalidAgeException extends Exception {
    public InvalidAgeException(String message) {
        super(message);
    }
}​

 


 

주의 사항

 

 

💡 과도한 예외 처리  코드 가독성을 떨어뜨림.

 

💡 모든 예외를 포괄하는 "catch(Exception e)" 은  문제를 감출 수 있으므로 주의

 

💡 필요 이상의 사용자 정의 예외는 코드 복잡성을 증가시킴.


 

728x90