TIL 11/15

드립이 블로그·2022년 11월 15일
0

TIL

목록 보기
11/80

예외 처리에 대하여 학습했다.

예외처리 (Exception / Error Handling)

코드를 완벽하게 짜더라도 인터넷 등등의 외부 환경에 의해 예외가 발생하는 경우가 있다.
이 때문에 예외 처리 코드가 필요하다.

목적

예외 발생으로 인한 실행중인 프로그램의 비정상 종료를 방지한다.
또한, 개발자에게 예외 발생 사실을 알려 코드를 보완하는 목적도 있다.

Java에서는 상속을 이용하여 모든 예외를 표현한다.
모든 예외 class는 Throwable의 자손 class이다.

예외의 종류

크게 Error 와 Exception으로 나뉜다.

Error 에러

프로그램이 종료 되어야 하는 심각한 문제이다.
대부분 컴퓨터나 JVM(Java Virtual Machine)이 동작할 수 없는 상황을 표현한다.
Error는 종류가 많지 않다.
Java는 JVM 내에 메모리 공간을 할당받아 사용하는데, 이를 할당량 이상 사용하면 Error가 생긴다.
이를 Out of Memory Error라고 하고, 실무자들은 OOM이라고 줄여서 말한다.
Java의 대표적 Error이다.

Exception
에러가 아닌 모든 것이 Exception이다.
프로그램이 종료되지는 않으나, 예외를 표현하거나 다루어야 하는 경우에 사용한다.

예외 표현 방법
try catch(-finally) 형식
try {}
{} 안에 예외 발생 가능성 있는 코드를 구현한다

catch() {}
어떤 오류가 발생했는지 아는 경우 ()안에 오류 이름을 선언한다.
그 후 다루기 위한 코드를 {} 안에 작성한다.

finally {}
{}안에 예외 발생 여부에 관계 없이, 항상 수행이 되어야 하는 코드를 구현한다.
finally는 필수가 아니다.

method 에서 예외 선언
catch문을 이용하여 예외 처리를 하지 않은 경우, method에 throws로 예외 발생이 가능하다는 것을 알려주어야 한다.
throws 키워드가 있는 함수를 호출 시에, caller쪽에서 catch 관련 코드를 작성해야한다.

솔직히 오늘 내용은 직접 코드를 창조해본적 없는 입장에서 왜 써야하는지 모르겠다.
그리고 미래의 나는 이런 나를 가소롭다는듯이 생각하고 있겠지
예외처리에 대해서는 딱히 와닫지 않아서 별 할 말이 없다.

0개의 댓글