애초에 에러나 널값을 내는 코드를 안만들어야 된다는건가..
그럼 내가짠거 아니고 라이브러리에서 에러나 널값 뱉을때는 어쩌라는거임
이런 코드를 터질만한곳에 다 넣는게 오히려 더 완성도 높은 프로그램아닌가?
그런방법이 있는지 궁금하긴하고
있다면 왜 안쓰는건지도 궁금함
애초에 에러나 널값을 내는 코드를 안만들어야 된다는건가..
그럼 내가짠거 아니고 라이브러리에서 에러나 널값 뱉을때는 어쩌라는거임
이런 코드를 터질만한곳에 다 넣는게 오히려 더 완성도 높은 프로그램아닌가?
그런방법이 있는지 궁금하긴하고
있다면 왜 안쓰는건지도 궁금함
어쩔수 없이 자기가 컨트롤 가능한 부분에서 해야지... 요즘 최신 언어들이 non-null 타입 + result/optional 타입 지원인 것도 이유가 있고
네가 짠 코드에서 남이 만든 코드 사이의 경계선에서만 예외 처리하고 네가 짠 부분은 굳이 할 필요 없다고 생각. OutOfMemory 같은거 뜨면 어떻게 처리할거임 이걸 핸들링 해서 뭐 잘 돌게 할 수 있나? 복구 불가능한 예외 뜨면 그 컨텍스트는 망가진 거지
널체크의 경우 예를들면 내부에서만 불리는 코드 매개변수 함수 안에서 null 체크 하지말고 그냥 null을 안넣으면 되는거. 애초에 null이 들어올 수 없는 타입으로 하면 좋은데 자바같은 경우 언어단에서 해결 못해서 NonNull 씀
라이브러리에서 예외 던지거나 널 리턴하는건 어쩔수 없는거고... if a == null 같은식의 널 체크 도배하는거보단 옵셔널 쓰는게 여러가지 측면에서 낫다고 봄
파라미터가 null인지 체크하지 말고 null을 제공하는 함수에서 반환받는 시점에 핸들링하는 게 좋음