C++에서 오류 코드를 반환해보자 - optional, variant, pair, tuple, absl::Status, expected
C++에서 오류 코드를 리턴하는 다양한 방법들 C++ 예외 처리(Error Handling) 가이드 이전 글에서, C++에서 에러(std::exception)를 던지는 방법에 대해서 알아보았고, 구글은 에러를 사용하지 않는다고 하였다. 그렇다면 에러를 던지지 않고, 오류 코드를 반환하는 방법은 무엇이 있을까? 당연하지만 고전적인 C언어 식의 방법, 즉 매크로로 오류 코드를 정의해놓고, 이를 반환하는 방법은 굳이 설명하진 않겠다. 이 방법은 C++에서도 사용할 수 있지만, C++에서는 더 좋은 방법들이 존재한다. 결론부터 말하면 이 글에서는 std::optional, std::variant, std::pair, std::tuple, absl::Status, std::expected에 대해서 살펴볼 것이다...