except: add custom base exception

This commit is contained in:
Danny Robson 2018-12-03 15:29:21 +11:00
parent d6b80da18b
commit ec16afc747
3 changed files with 41 additions and 0 deletions

View File

@ -251,6 +251,8 @@ list (
encode/base.hpp encode/base.hpp
endian.cpp endian.cpp
endian.hpp endian.hpp
except.cpp
except.hpp
exe.hpp exe.hpp
extent.cpp extent.cpp
extent.hpp extent.hpp

17
except.cpp Normal file
View File

@ -0,0 +1,17 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Copyright 2018 Danny Robson <danny@nerdcruft.net>
*/
#include "except.hpp"
///////////////////////////////////////////////////////////////////////////////
std::ostream&
cruft::operator<< (std::ostream &os, const cruft::error &obj)
{
return obj.describe (os);
}

22
except.hpp Normal file
View File

@ -0,0 +1,22 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Copyright 2018 Danny Robson <danny@nerdcruft.net>
*/
#pragma once
#include <iosfwd>
namespace cruft {
class error {
public:
virtual ~error () = default;
virtual std::ostream& describe (std::ostream&) const noexcept = 0;
};
std::ostream& operator<< (std::ostream &os, error const&);
}