예외에 관해서 찾아 보면 예외는 말그대로 예외적인 경우에만 써야 하고
control flow 용도로 쓰면 안된다 이런 원론적인 내용들 많이 나옴
근데 spring mvc 같은 사용사례 보면 특정 예외를 던져서
api에서 200 ok 이외의 응답 케이스를 처리 가능하도록 되어있는데 이거는
결국 예외를 control flow로 쓴다고 봐야 하는거 아닌가 하는 혼란이 옴
A->B->C->D->E 라는 막히지 않는다는 가정하의 일반적인 플로우가 있으면
B->C 로 진행할수 없는 경우가 발생하면 이걸 예외라고 본다면 어느정도 이해는 가는데
먄약 그걸 예외라고 한다면 제어흐름에 예외를 쓰지 말라는건 결국 예외로 정상 진행하는
분기 만드는 용도로 쓰지 말라 정도로 봐야할지...
200 이외에는 의도하지 않은 응답코드니까 그런거 아님? 그것도 '예외적인 경우' 잖아
https://web.archive.org/web/20140430044213/http://c2.com/cgi-bin/wiki?DontUseExceptionsForFlowControl
처음부터 머리가 띵해진다... 근데 go언어같은 경우는 예외처리가 아예 없잖아? 다른언어도 예외 아예없이 개발할 수 있긴 하겠지... - dc Cpp
이걸 트릭으로써 이용하지 말고 주어진 의도 그대로 쓰면 되지않을까 - dc Cpp