aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-10-23 09:51:16 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-10-23 09:51:16 +0200
commit1bd2a072d44893b78eac97ee81edd24023918e06 (patch)
tree79e8e0cb666e56006fa0dbaf281da56c9481a9c7
parentb517f9cd2684d2b6a5540c9ff64bad19acee4bc1 (diff)
Derive invalid_path from invalid_argument
-rw-r--r--libbutl/path.cxx6
-rw-r--r--libbutl/path.mxx9
2 files changed, 8 insertions, 7 deletions
diff --git a/libbutl/path.cxx b/libbutl/path.cxx
index 47d691b..17b380a 100644
--- a/libbutl/path.cxx
+++ b/libbutl/path.cxx
@@ -70,10 +70,10 @@ using namespace butl::win32;
namespace butl
{
- char const* invalid_path_base::
- what () const throw ()
+ invalid_path_base::
+ invalid_path_base ()
+ : invalid_argument ("invalid filesystem path")
{
- return "invalid filesystem path";
}
//
diff --git a/libbutl/path.mxx b/libbutl/path.mxx
index 2ad3c6a..35ba0ec 100644
--- a/libbutl/path.mxx
+++ b/libbutl/path.mxx
@@ -13,7 +13,7 @@
#include <cstddef> // ptrdiff_t
#include <utility> // move(), swap()
#include <iterator>
-#include <exception>
+#include <stdexcept> // invalid_argument
#include <functional> // hash
#include <vector>
@@ -61,10 +61,11 @@ LIBBUTL_MODEXPORT namespace butl
// non-dir-adapted implementation (see where we call K::cast()).
//
- struct LIBBUTL_SYMEXPORT invalid_path_base: public std::exception
+ // @@ This should probably be called invalid_path_argument
+ //
+ struct LIBBUTL_SYMEXPORT invalid_path_base: public std::invalid_argument
{
- virtual char const*
- what () const throw ();
+ invalid_path_base ();
};
template <typename C>