effective-swift

Item71. 필요없는 검사 예외 사용은 피하라

Java

예외처리를 해야하는 검사 예외, 잘 쓰면 약 못 쓰면 독.

검사 예외를 제대로 활용하면 API와 프로그램 질을 높일 수 있습니다. 결과를 코드로 반환하거나 비검사 예외를 던지는 것과 달리, 검사 예외는 발생한 문제를 프로그래머가 처리하여 안정성을 높이게끔 해줍니다.

하지만 검사 예외를 과도하게 사용하면 오히려 불편한 API가 됩니다. 메서드가 검사 예외를 던질 수 있다고 선언됐다면, 이를 호출하는 코드에서는 catch 블록을 두어 그 예외를 붙잡아 처리하거나 더 바깥으로 던져 문제를 전파해야만 합니다.

더구나 검사 예외를 던지는 메서드는 스트림 안에서 직접 사용할 수 없기 때문에 자바 8부터는 부담이 더욱 커집니다. 따라서 API를 제대로 사용해도 발생할 수 있는 예외이거나, 프로그래머가 의미있는 조치를 취할 수 있는 경우라면 이 정도 부담쯤은 받아들일 수 있을 것입니다.

참조한 곳: https://pridiot.tistory.com/54, https://reference-m1.tistory.com/246

Swift

스위프트의 경우에 자바의 검사 예외에 해당하는 것은 Error(enum type)입니다. Error도 자바의 검사 예외와 마찬가지로 발생한 문제를 프로그래머가 처리하여 안정성을 높이게끔 해줍니다.

따라서 사용자가 처리할 수 있는 상황이면 Error를 사용하면 되는데, 자바와 마찬가지로 Error를 과도하게 사용하면 오히려 불편한 API를 될 수 있겠습니다.