JAVA

태태개발일지 - Exception

태태코 2024. 10. 14. 14:01
반응형

예외처리

출처: dondonee.log

 

*throw로 예외를 발생시킬 수 있다. *

*thorws는 밖으로 예외를 던진다는 뜻*

 

체크예외

특징: 1. 예외가 일어났을 때 throws 로 예외를 넘기거나 처리를 해주어야 한다.

         2.{try catch}를 통해서 예외를 처리할 수 있다.

 

예외를 처리하지않고 계속 밖으로 예외를 던지다보면 runtimeExpetion이 뜬다. 그러면 프로그램이 멈추게된다.

중간 로직에 예외를 잡지않아도 컴파일 에러가 뜨게 된다.

 

장단점: 

         장점: 꼭 예외를 잡아야만 하기 때문에 개발자가 실수로 넘겨도 확인할 수 있다.

         단점: 일일이 싹다 잡아줘야하기 때문에 복잡하다.

 

예시) extends Exception

 

언체크 예외

 

특징 : 1. 예외를 잡아서 처리하지 않아도 throws 키워드를 생략할 수 있다.

          2. thorw new MyUncheckedExcetpoion(); 을 사용해도 throws를 하지않아도, 에러가 나지 않는다.

 

필요한경우 try catch로 잡아도 되고 안잡아도 된다.

 

컴파일러는 체크를 안하지만, 막상 에러가일어나면 에러가 나게된다.

 

예시) extends RuntimeException

정리:

체크 에외와 언체크 예외의 차이는 예외를 처리할 수 없을 때 예외를 밖으로 던지는 부분에 있다. 이 부분을 필수로 선언해야 하는 가 생략할 수 있는가의 차이이다.

 

그렇다고 thorws Exption 으로 처리하게 되면 실제 잡아야하는 중요한 에러를 못받게 될 수 도 있다. 

 

 

해결방안

이렇게 처리할 수 없는 예외들은 중간에 여러곳에서 나누어 처리하기 보다는 예외를 공통으로 처리할 수 있는 곳을 만들어서 한 곳에서 해결하면 된다. 어차피 해결할 수 없는 예외들이기 때문에 이런 경우에는 오류 페이지를 보여주면 되고, 내부 개발자가 지금의 문제를 빠르게 인지할 수 있도록, 오류에 대한 로그를 남겨두면 된다.

 

 

 

 

 

반응형

'JAVA' 카테고리의 다른 글

태태개발일지 - 레코드  (1) 2024.12.25
태태개발일지 - equals and hashcode 동시 재정의?  (1) 2024.12.05
Java 중급 - 영한쌤  (1) 2024.03.31
태태개발일지(JAVA 상속)  (0) 2024.01.09
태태개발일지(Legucy jdk설정)  (1) 2023.12.05