diff options
Diffstat (limited to 'thirdparty/oidn/common/exception.h')
| -rw-r--r-- | thirdparty/oidn/common/exception.h | 45 | 
1 files changed, 45 insertions, 0 deletions
diff --git a/thirdparty/oidn/common/exception.h b/thirdparty/oidn/common/exception.h new file mode 100644 index 0000000000..18069c6a7d --- /dev/null +++ b/thirdparty/oidn/common/exception.h @@ -0,0 +1,45 @@ +// ======================================================================== // +// Copyright 2009-2019 Intel Corporation                                    // +//                                                                          // +// Licensed under the Apache License, Version 2.0 (the "License");          // +// you may not use this file except in compliance with the License.         // +// You may obtain a copy of the License at                                  // +//                                                                          // +//     http://www.apache.org/licenses/LICENSE-2.0                           // +//                                                                          // +// Unless required by applicable law or agreed to in writing, software      // +// distributed under the License is distributed on an "AS IS" BASIS,        // +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // +// See the License for the specific language governing permissions and      // +// limitations under the License.                                           // +// ======================================================================== // + +#pragma once + +#include <exception> +#include "platform.h" + +namespace oidn { + +  class Exception : public std::exception +  { +  private: +    Error error; +    const char* message; + +  public: +    Exception(Error error, const char* message) +      : error(error), message(message) {} + +    Error code() const noexcept +    { +      return error; +    } + +    const char* what() const noexcept override +    { +      return message; +    } +  }; + +} // namespace oidn  |