본문 바로가기
Java의 정석/예외처리

예외처리 04 ~ 06 - 예외 처리하기, try-catch 문의 흐름

by Hwanii_ 2023. 8. 20.
728x90
 
 

 

1.

예외처리 (exception handling)

정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성.

목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행 상태를 유지.

 

2.

try-catch의 기본 구조.

 

 

쇼핑몰 홈페이지 라고 가정 했을 때,

 

e1에는 사용자의 돈이 부족해서 결제시 예외 발생

 

e2에는 사용자가 구매하려고 하는 물건의 재고가 부족 할 때 예외 발생

 

e3에는 사용자가 구매하려고 하는데, 쇼핑몰 홈페이지가 영업을 하지 않을 때 예외 발생

 

..

 

이런식으로 발생 할 수 있는 예외에 대해서 catch 문에 작성 하면 된다.

 

3.

try-catch 동작 흐름 예시

 

 

-------------------------------

 

 

숫자를 0으로 나눌 수 없기 때문에, try 블록에 있는 5번째 라인의 코드가 실행 될 때,

바로 예외가 발생 하고,

해당하는 예외인 ArithmeticException이 던져지면,

catch 블록이 해당하는 예외를 받아서 예외를 처리 한다.

 

 

try-catch 문을 없애버리고, 실행시키면,

 

 

이렇게 ArithmeticException 예외가 발생 하게 된다.

 

 

catch문 인자로 발생하는 예외가 아닌것이 들어가 있으면,

 

 

해당하는 예외처리 코드가 없기 때문에, 예외처리가 불가능 한것을 확인 할 수 있다.

 

4.

추가 예시 확인 하기.

 

 

8번째 라인에서 산술 처리 예외가 발생 하고,

9번째 라인의 코드 스킵.

 

catch문 괄호 내부에, 모든 예외 처리가 가능하도록 Exception을 사용 할 수 있다.

 

그래서, Exception을 사용할 때, 아래와 같이 작성 하면, 컴파일 에러가 발생 하게 된다.

 

 

 

이미 Exception 클래스가 모든 예외를 잡아 주기 때문에,

아래의 ArithmeticException은 의미가 없어지기에,

컴파일 에러가 발생 한다.

 

그래서, Exception을 사용 해야 한다면, 아래와 같이 맨 마지막 순서에 작성 해야 한다.

 

 

가능하면, 발생할 예외에 대해 해당하는 예외를 작성해주는게 좋으나,

혹시 모를 예외가 발생 할 수도 있으니,

마지막에 Exception을 작성해주는것도 나쁘지 않다.

반응형