코드스쿼드 14일차
데일리 미팅
테스트 코드를 작성하고 프로덕션 코드를 작성하는 연습을 해야한다!
하지만 잘 되지 않는다. 우리는 항상 프로덕션 코드를 먼저 작성해왔기 때문에.
이것을 짝 프로그래밍을 통해서 해결하도록 한다.
Exception
오늘은 Skull 과 짝 프로그래밍을 진행하였다.
예외처리 로직을 구현하는 과정에서 알게된 내용은 다음과 같다.
테스트를 할때는 경계값에 대해서 테스트하는 것이 좋다
ex 값의 범위가 0 ~ 24 일경우, -1 과 25를 테스트한다.
RuntimeException : 유저가 만든 익셉션
CompileTimeException : Exception
throw : 익셉션 인스턴스를 만들고 throw 를 통해 익셉션을 반환 ( 던진다 )
(= return 과 동일)
throws : 메서드를 처음 읽는 사람이 메서드의 input과 output을 보는데 그 다음 throws를 본다.
그러면 그것만 보고 '이 메서드는 이런 예외를 발생할 수 있겠구나' 라고 알 수 있음
런타임 익셉션은 throws 를 생략해도 됨 (하지만 써주는 것이 더 나을 수 있다)
컴파일 타임 익셉션은 throws 를 생략할 수 없음.
throws 키워드를 통해 이 익셉션을 메서드를 사용하는 개발자한테 니가 처리하라고 알려줌
이게 싫으면 try catch 로 구현. 하지만 아무런 일도 하지 않으므로 불필요한 일을 함
익셉션 종류가 여러가지 일때는
'|' 를 이용
제일 상위의 익셉션을 catch 함
catch (Exception e)
문법은 암기를 통해 해결하고 ( throw , throws 등…)
이해할 부분은 런타임 익셉션과 컴파일 익셉션 차이를 이해하는 것이 중요하다.
자바를 처음 쓰는 사람들이 컴파일타입익셉션을 매우 사랑했다.
그러다보니 thorws 를 통해 남용, 맨날 thorws만 함. 코드 지저분.
정말 필요한 경우 아니면 컴파일 타임익셉션은 사용하지 않는것이 좋다!
그냥 런타임 익셉션을 사용하고 반드시 try catch 를 통해 처리해야 하는 경우에만 컴파일 타임 익셉션을 쓰기.
많은 개발자들이 익셉션 사용에 익숙하지가 않음.
버그를 줄이려면 익셉션의 활용이 매우 중요하다.
'코딩 교육 기관 > 코드스쿼드 백엔드 레벨2' 카테고리의 다른 글
2018.11.01 (목) (2) | 2018.11.11 |
---|---|
2018.10.29 (월) (2) | 2018.11.11 |
2018.10.22 (월) (0) | 2018.11.11 |
2018.10.17 (수) (0) | 2018.11.11 |
2018.10.15 (월) (0) | 2018.11.11 |
댓글