삐빅 예외를 처리해주세요

gotcha!!·2023년 1월 5일
0

나 같은 개린이가 코드를 작성하다보면 제일 자주 마주치는 게, 예외들이 발생하는 상황이다.
그래서 예외에 대해서 조금 끄적여 보려고 하하하...

예외처리 (Exception Handling)

Error (프로그램 에러)

  • 치명적 상황이 발생하여, 비정상 종료 상황이 발생한 것

소스코드로 처리할 수 있는 건

  • Exception (예외)

오류의 종류

컴파일 에러

소스 코드상의 문법 에러, 소스 코드 수정으로 해결 --> 개발자가 실수 한 것

런타임 에러

주로 if문 사용으로 에러처리 (ex 배열의 인덱스 범위를 벗어났거나, 계산의 오류)

시스템 에러

컴퓨터 오작동으로 인해서 소스 코드로 수정으로 해결 불가한 에러 --> 버그
예측 가능한 에러를 구문으로 처리하는 방법을 예외처리 라고 한다.

Unchecked Exception --> 확인 굳이 안해도되는 예외 --> 선택적 예외처리

언췤 익셉션에는 밑에 사진과 같은 종류가 있다.

Checked Exception --> 확인을 꼭 해야하는 예외 --> 필수적 예외처리

췤 익셉션에는 IOException, EOFException, FileNotFoundException...과 같은 종류들이 있다.

try ~ catch문을 이용하여 예외 처리

try

Exception 발생할 가능성이 있는 코드를 안에 기술

catch

try구문에서 exception 발생 시, exception에 대한 처리기술 --> 여러 개의 exception 처리가 가능하나
exception간의 상속 관계를 고려해야함

finally

exception 발생 여부 관계없이 꼭 처리 해야하는 로직 기술

말로만 하면 알아 듣기 힘드니..

사진을 첨부해야쥐

throws

메소드 선언 시, throws Exception명을 추가하여 호출한 상위 메소드에게 처리 위임

계속 위임하면 main() 메소드까지 위임함
main() 메소드에서도 처리되지 않는 경우 프로그램이 비정상 종료

--> 예외처리를 한 곳에서 하기 위해서 throws를 통해 메인 메서드로 던져벌임

역시 백문불여일견이다.

이 글로 예외 상황이 발생했을 때, 최소한 무슨 예외인지는 알 수 있을 거 같다.
예외처리를 잘 하는 사람이 되어보자.

profile
ha lee :)

0개의 댓글