로딩중...
검색중...
일치하는것 없음
nerr.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
4#include <unordered_map>
5
9#include "core/type/ntype.hpp"
11
12namespace by {
13
14 typedef std::unordered_map<nidx, std::string> msgMap;
15
16 class pos;
17
18 struct _nout nerr: public baseErr {
19 BY(CLASS(nerr, baseErr))
20 template <typename T, nbool> friend struct tmarshaling;
21
22 public:
23 nerr(errLv::level t, nint newCode);
24 nerr(errLv::level t, nint newCode, va_list args);
25 nerr(errLv::level t, const point& ps, nint newCode, va_list args);
26 nerr(const me& rhs);
27
28 protected:
33
34 public:
35 nbool operator==(const super& rhs) const override;
36
37 public:
38 const baseObj& getOrigin() const override;
39
40 void log() const override;
41 void logStack() const override;
42 const std::string& getMsg() const override;
43 errCode getErrCode() const override;
44 const point& getPos() const;
45
46 static const nerr& singleton();
47 static const std::string& getErrMsg(errCode code);
48 static const std::string& getErrName(errCode code);
49 static nerr* newErr(int code, ...);
50 static nerr* newErr(int code, va_list args);
51 static nerr* newErr(const point& src, int code, ...);
52 static nerr* newErr(const point& src, int code, va_list args);
53 static nerr* newWarn(int code, ...);
54 static nerr* newWarn(int code, va_list args);
55 static nerr* newWarn(const point& src, int code, ...);
56 static nerr* newWarn(const point& src, int code, va_list args);
57 static nerr* newInfo(int code, ...);
58 static nerr* newInfo(int code, va_list args);
59 static nerr* newInfo(const point& src, int code, ...);
60 static nerr* newInfo(const point& src, int code, va_list args);
61
62 private:
63 void _logNativeStack() const;
64
65 private:
66 errCode _code;
67 point _pos;
68 std::string _msg;
69 };
70
71 struct _nout ndummyErr: public nerr {
72 BY(CLASS(ndummyErr, nerr))
73
74 public:
75 ndummyErr();
76
77 public:
78 void log() const override;
79 const std::string& getMsg() const override;
80 };
81} // namespace by
Function or object evaluation arguments
Definition args.hpp:22
Base class for error hierarchy
Definition baseErr.hpp:48
Base class for representing byeol objects
Definition baseObj.hpp:73
Source location information
Definition src.hpp:15
Definition tnarr.hpp:9
Definition nerr.hpp:71
Definition nerr.hpp:18
Template marshaling interface for C++ bridge
Definition tmarshaling.hpp:19
to Top