diff --git a/libs/io/include/psemek/io/error.hpp b/libs/io/include/psemek/io/error.hpp index 926e6c0d..b531b75f 100644 --- a/libs/io/include/psemek/io/error.hpp +++ b/libs/io/include/psemek/io/error.hpp @@ -21,4 +21,16 @@ namespace psemek::io char const * what() const noexcept override; }; + struct istream_end + : std::exception + { + char const * what() const noexcept override; + }; + + struct ostream_end + : std::exception + { + char const * what() const noexcept override; + }; + } diff --git a/libs/io/source/error.cpp b/libs/io/source/error.cpp index d48a167d..2690fb13 100644 --- a/libs/io/source/error.cpp +++ b/libs/io/source/error.cpp @@ -13,4 +13,14 @@ namespace psemek::io return "Attempt to write to null output stream"; } + char const * istream_end::what() const noexcept + { + return "Unexpected input stream end"; + } + + char const * ostream_end::what() const noexcept + { + return "Unexpected output stream end"; + } + }