마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

코틀린 check, require 함수에 대한 질문입니다.

0 추천
코틀린의 check, require 함수는

전달된 파라미터의 값이 참이 아니면 IllegalStateException, IllegalArgumentException 발생시킨다는 함수인데요..



이거 도대체 쓰는 이유가 뭐죠?

그냥 if else 처리하면 될 것을 저 함수 사용하면 exception 처리를 해줘야 하니 더 번거롭잖아요



그리고 위 두 함수가 동작하는 방식이 똑같은데 왜 2개나 만들어 놓은걸까요?

궁금합니다~~
옛날꿀호떡 (390 포인트) 님이 2023년 12월 15일 질문

1개의 답변

0 추천
 
채택된 답변
Exception을 떨구는 거는 의도된 동작이고 해당 함수의 경우는 코드 측면에서 보면 if else보다 개선된 방식으로 볼 수 있습니다.

해당 함수를 사용하는 경우는 반드시 해당값이 필요한 경우에 흔히 사용합니다. 예를 들면 사용자 디테일을 보여주는 화면에서 사용자 ID를 받아서 조회를 한다고 치죠. 그럼 사용자ID가 넘어오지 않는 건 잘못 개발이 된거죠. 이런 경우 if else로 넘어가는 것이 아니라 개발시에 예외를 떨구어서 확실하게 처리를 하는 것이 맞습니다.

예를 든 것처럼, 확실하게 해당값이 필요한 곳이라면, check이나, require를 사용하는 것이 if else보다 더 명확한 코드입니다.
spark (227,530 포인트) 님이 2023년 12월 15일 답변
옛날꿀호떡님이 2023년 12월 18일 채택됨
...