Turi Create  4.0
error.hpp
1 /* Copyright © 2018 Apple Inc. All rights reserved.
2  *
3  * Use of this source code is governed by a BSD-3-clause license that can
4  * be found in the LICENSE.txt file or at https://opensource.org/licenses/BSD-3-Clause
5  */
6 
7 #ifndef TURI_LOGGINC_ERROR_H_
8 #define TURI_LOGGINC_ERROR_H_
9 
10 /*
11  * Error types to distinguish Turi Create errors from arbitrary C++ exceptions
12  */
13 
14 #include <ios>
15 #include <system_error>
16 
17 namespace turi {
18 namespace error {
19 
20 class io_error : public std::ios_base::failure {
21  private:
22  std::string m_message;
23 
24  public:
25  explicit io_error(const std::string &message);
26 
27  virtual const char *what() const COMPILER_MODIFIER_ON_EXCEPTION_WHAT override;
28 };
29 
30 } // namespace error
31 } // namespace turi
32 
33 #endif
34 
35