baseErr.hpp
Go to the documentation of this file.
1
2#pragma once
3
6
7namespace by {
12 class _nout baseErr: public baseObj, public errorable {
13 BY(ADT(baseErr, baseObj))
14 template <typename T, nbool> friend struct tmarshaling;
15
16 public:
17 baseErr(errLv::level t);
18 baseErr(const baseErr& rhs);
19
20 public:
21 me& operator=(const me& rhs);
22 virtual nbool operator==(const me& rhs) const = 0;
23 nbool operator!=(const me& rhs) const;
24
25 public:
26 const callstack& getStack() const;
27 void logStack() const override;
28 void dump() const override;
29 errLv::level getLv() const override;
30 static scope& makeSubs();
31 const std::string& getMsg() const override;
32
33 private:
34 void _initStack();
35 me& _assign(const me& rhs);
36
37 private:
38 tstr<callstack> _stack;
39 errLv::level _lv;
40 };
41} // namespace by
Base class for all error types.
Definition: baseErr.hpp:12
void dump() const override
Dump object state for debugging.
void logStack() const override
Log error with stack trace.
Base class for all objects in byeol language.
Definition: baseObj.hpp:24
Call stack for error reporting and debugging.
Definition: callstack.hpp:31
Interface for objects that can report errors.
Definition: errorable.hpp:13
Strong reference smart pointer with strict type checking.
Definition: tstr.hpp:13
Template marshaling interface for C++ bridge.
Definition: tmarshaling.hpp:18