예외처리

JinStory77·2023년 5월 31일
0

프런트엔드_공부

목록 보기
11/11

작성중 ...

1. Exception(예외 처리)

돌발상황에 대비하여 미리 준비하여 두는 것을 의미

  • 예외(exception) : 예외란 연산 오류, 숫자 포맷 오류 등과 같이 상황에 따라 '개발자가 해결할 수 있는 오류'를 의미
    • 오류 자체를 수정할 수 있다는 것이 아니라 오류가 발생했을 때 차선책을 선택하는 것을 의미
  • 에러(error) : 자바 가상 머신 자체에서 발생하는 오류로 '개발자가 해결할 수 없는 오류'를 의미

1. 논리적인 오류

  • 프로그래머의 논리적 사고가 잘못된 경우

2. 문법적 오류

  • 자바 문법상의 오류

3. 기계적인 오류

  • 운영체제상의 버그, 이클립스 버그 등등

4. 개발환경 오류

  • 버전(모듈)이 안맞음, 서버SW와 클라이언트 SW상의 오류

5. 예외상황 오류

  • 예측하기 어려운 상황 발생 오류
try { 
// [문제가 발생할 소지가 있는 내용]
} catch(exception e) {
e.printStackTrace(); // [오류 발생시에 대처에 대한 내용]
} finally {
// [정상이던지 비정상이던지 상관없이 실행하는 부분]
}

2. 예외 클래스의 상속 구조

Throwable 클래스를 상속받은 Exception 클래스는 다시 일반 예외(checked exception)클래스와 실행 예외(unchecked(runtime) exception)클래스로 나뉨

1) 일반 예외(checked exception)

  • Exception 클래스에게서 직접 상속받은 예외 클래스들이 처리하는 일반 예외는 컴파일 전에 예외 발생 문법을 검사(check)하며, 예외 처리를 하지 않으면 문법 오류가 발생
    • '검사'는 예외의 실제 발생 여부가 아닌 예외 발생할 수 있는 문법을 사용했는지를 검사하는 것을 의미

2) 실행 예외(runtime exception)

  • runtime exception 클래스를 상속받은 예외 클래스들이 처리하는 실행 예외는 컴파일 전이 아니라 실행할 때 발생하는 예외로, 예외 처리를 하지 않아도 문법 오류가 발생하지 않음
    • 다만 실행시 프로그램이 강제 종료되는 이유는 대부분 실행 예외 때문임

3.

profile
Let's smile for future 🤩

2개의 댓글

comment-user-thumbnail
2023년 9월 6일

안녕하세요 Jin님! 천재교육 태그를 보고 이렇게 댓글 남깁니다.
혹시 천재IT교육 java 풀스택 과정 밟으시나요...?
해당 과정에 참여할지 고민하고 있습니다. 가능하면 조언을 구할 수 있을가해서요!

1개의 답글