Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자판기미션
- 자바 4334
- 우테코
- 자바의 종류
- Getter Setter
- 우테코4기
- 자바로 만들수 있는 것
- 윤년계산하기
- 제임스고슬링
- JDK
- throw 와 throws 차이
- 객체지향적인 설계
- There isn't anything to compare.
- 백준
- 우아한테크코스
- ControllerTest
- 블랙잭 회고
- java 1000번 A+B
- 인수테스트
- 상수와 Enum
- 리스코프치환원칙
- PR 오류
- Oracle JDK와 OpenJDK의 차이
- 자바 버전 다운 그레이드
- 프로젝트 패키지 구조
- ServiceTest
- 테스트 성능 개선
- 방어적 복사
- 상근날드
- JXM
Archives
- Today
- Total
개발새발
오류와 예외는 같은걸까? 본문
기능 요구사항에 입력이 잘못되면 IllegalArgumentException 을 발생 시키라고 되어있었다.
에러를 try ~ catch문 으로 받아본 적은 있으나 일부러 발생시켜서 던져본 적은 없었고,
그래서 구글링을 하던 중 에러(error) 와 예외(exception) 를 혼용해서 사용하는 포스팅을 보게 되었다.
두개의 차이가 뭘까? 나도 정확하게 모르겠어서 알아봤고, 결론부터 말하자면 다르다!!
오류(error)
시스템 레벨에서 발생하며, 개발자가 예측하지 못하는 결함
예외(exception)
개발자가 짠 로직에서 발생, 예외 상황을 예측할 수 있어 예외처리가 가능함
차이를 알아봤다. 예측 불가능 함과 가능함.. ! 오케이 그럼 이제 예외처리 방식에 대해 알아보자
예외(exception) 처리 방법
- try ~ catch문 ( 예외가 발생될 것 같은 문장을 try에 적고, 예외가 발생 되면 catch 에서 잡는다)
- 예외 회피 throws ( 예외를 떠 넘긴다)
- 예외 발생 throw ( 예외를 즉시 발생시킨다. ex) new throw IllegalArgumentException) 이때, 에러명(에러메세지) 를 작성하면 세부적인 내용을 출력할 수 있다.
IllegalArgumentException
위 에러에 대해 찾아보았다.
이 에러는 이름 그대로 적합하지 않거나(illegal) 적절하지 못한(inappropriate) 인자를 메소드에 넘겨주었을 때 발생한다고 한다.
해결 방법
위 요구사항에 예외를 발생 시키라고 명시했기 때문에 new throw 로 예외 처리를 진행했다.
느낀점
맨 처음 오류와 에러가 뭐지? 생각했을 때 애매~하게 아는 느낌이라 넘어가려고 했다.
그런데 우테코 과정에서 `성장` 을 중점으로 두고 있고, 난 프리코스에 참여하고 있기 때문에 확실하게 알기 위해 찾아보았다.
그랬더니 내가 모르는 내용들이 더 많았고, 앞으로 애매하게 아는 건 모른다고 생각하고 다시 공부 해야겠다고 생각했다.
에러를 찾아보며 공식 문서에 들어갔는데, 에러의 종류와 갯수가 어마어마하게 많았다.. ㅋㅋㅋㅋㅋㅋㅋ
시간 날때 틈틈히 읽어보면 좋을 것 같고, 예외 처리에 대한 예제들을 접해보면서 익히면 좋을 것 같다.
참고
'우아한테크코스' 카테고리의 다른 글
객체, 설계 (0) | 2022.08.24 |
---|---|
JDBC와 JDBC Template (0) | 2022.04.27 |
MVC 패턴 (0) | 2022.02.20 |
Enum을 사용하는 이유가 뭘까? (0) | 2022.02.20 |
Mac에서 JAVA 버전 확인과 IntelliJ 에서 JDK 변환하기 (0) | 2022.02.20 |