TNB Library
TnbException.h
[詳解]
1#pragma once
13#include "TnbStrLib.h"
14#include "TnbPointerHandle.h"
15
16
17
18#include <tchar.h>
19
20
21
22//TNB Library
23namespace TNB
24{
25
26
27
36{
38 DWORD m_dwParam;
39public:
45 explicit CTnbException(LPCTSTR lpszMsg, DWORD dwParam = 0)
46 {
47 if ( lpszMsg == NULL ){ lpszMsg = _T(""); }
48 TRACE1("throw Tnb-Exception;[%s]\n", lpszMsg);
49 size_t iSize = STRLIB::GetLen(lpszMsg);
50 m_hpText = new TCHAR[iSize + 1];
51 STRLIB::Copy(m_hpText, lpszMsg);
52 m_dwParam = dwParam;
53 }
58 DWORD GetParam(void) const { return m_dwParam; }
63 virtual LPCTSTR GetString(void) const { return m_hpText; }
69 void OnCatch(void) const
70 {
71 TRACE1("catch Tnb-Exception;[%s]\n", GetString());
72 }
73};
74
75
76
81{
82 DEFSUPER(CTnbException);
83public:
85 CIndexOutOfBoundsException(DWORD dwParam = 0) : _super(_T("INDEXが範囲外です。"), dwParam) {}
86};
87
88
89
94{
95 DEFSUPER(CTnbException);
96public:
98 CAppendFailureException(DWORD dwParam = 0) : _super(_T("追加に失敗しました。"), dwParam) {}
99};
100
101
102
107{
108 DEFSUPER(CTnbException);
109public:
111 CEmptyException(DWORD dwParam = 0) : _super(_T("空です。"), dwParam) {}
112};
113
114
115
120{
121 DEFSUPER(CTnbException);
122public:
124 CShortOfDataException(DWORD dwParam = 0) : _super(_T("データが足りません。"), dwParam) {}
125};
126
127
128
133{
134 DEFSUPER(CTnbException);
135public:
137 CInvalidLengthException(DWORD dwParam = 0) : _super(_T("長さが異常です。"), dwParam) {}
138};
139
140
141
146{
147 DEFSUPER(CTnbException);
148public:
150 CNoSuchTypeException(DWORD dwParam = 0) : _super(_T("タイプが異なります。"), dwParam) {}
151};
152
153
154
159{
160 DEFSUPER(CTnbException);
161public:
163 CInvalidParamException(DWORD dwParam = 0) : _super(_T("パラメータが不正です。"), dwParam) {}
164};
165
166
167
172{
173 DEFSUPER(CTnbException);
174public:
176 CNullPointerException(DWORD dwParam = 0) : _super(_T("NULLポインタです。"), dwParam) {}
177};
178
179
180
185{
186 DEFSUPER(CTnbException);
187public:
189 CNotSupportException(DWORD dwParam = 0) : _super(_T("サポートされていません。"), dwParam) {}
190};
191
192
193
198{
199 DEFSUPER(CTnbException);
200public:
202 CNotFoundException(DWORD dwParam = 0) : _super(_T("見付かりません。"), dwParam) {}
203};
204
205
206
212{
213 DEFSUPER(CTnbException);
214public:
216 CIoFailureException(LPCTSTR lpszMsg = NULL, DWORD dwParam = 0)
217 : _super((lpszMsg == NULL) ? _T("入出力失敗です。") : lpszMsg, dwParam) {}
218};
219
220
221
227{
228 DEFSUPER(CIoFailureException);
229public:
231 COpenFailureException(DWORD dwParam) : _super(_T("オープン失敗です。"), dwParam) {}
232};
233
234
235
241{
242 DEFSUPER(CIoFailureException);
243public:
245 CReadFailureException(DWORD dwParam) : _super(_T("読み込み失敗です。"), dwParam) {}
246};
247
248
249
255{
256 DEFSUPER(CIoFailureException);
257public:
259 CWriteFailureException(DWORD dwParam) : _super(_T("書き込み失敗です。"), dwParam) {}
260};
261
262
263
269{
270 DEFSUPER(CIoFailureException);
271public:
273 CDeleteFailureException(DWORD dwParam) : _super(_T("削除失敗です。"), dwParam) {}
274};
275
276
277
278}; //TNB
ポインタハンドル関係のヘッダ
文字列操作ライブラリ関係のヘッダ
追加失敗例外
Definition: TnbException.h:94
CAppendFailureException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:98
削除失敗発生例外
Definition: TnbException.h:269
CDeleteFailureException(DWORD dwParam)
コンストラクタ
Definition: TnbException.h:273
取得要素(空き)無し例外
Definition: TnbException.h:107
CEmptyException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:111
INDEX範囲外例外
Definition: TnbException.h:81
CIndexOutOfBoundsException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:85
長さ異常発生例外
Definition: TnbException.h:133
CInvalidLengthException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:137
パラメータ不正例外
Definition: TnbException.h:159
CInvalidParamException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:163
読み書き失敗発生例外
Definition: TnbException.h:212
CIoFailureException(LPCTSTR lpszMsg=NULL, DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:216
タイプ相違例外
Definition: TnbException.h:146
CNoSuchTypeException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:150
見付からない例外
Definition: TnbException.h:198
CNotFoundException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:202
サポート外例外
Definition: TnbException.h:185
CNotSupportException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:189
NULLポインタ例外
Definition: TnbException.h:172
CNullPointerException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:176
オープン失敗発生例外
Definition: TnbException.h:227
COpenFailureException(DWORD dwParam)
コンストラクタ
Definition: TnbException.h:231
読み込み失敗発生例外
Definition: TnbException.h:241
CReadFailureException(DWORD dwParam)
コンストラクタ
Definition: TnbException.h:245
データ足らず発生例外
Definition: TnbException.h:120
CShortOfDataException(DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:124
例外ベースクラス
Definition: TnbException.h:36
CTnbException(LPCTSTR lpszMsg, DWORD dwParam=0)
コンストラクタ
Definition: TnbException.h:45
void OnCatch(void) const
[表示] 内容表示
Definition: TnbException.h:69
virtual LPCTSTR GetString(void) const
[取得] 例外文字列取得
Definition: TnbException.h:63
DWORD GetParam(void) const
[取得] パラメータ取得
Definition: TnbException.h:58
書き込み失敗発生例外
Definition: TnbException.h:255
CWriteFailureException(DWORD dwParam)
コンストラクタ
Definition: TnbException.h:259
size_t GetLen(LPCSTR lpsz)
[計算] 文字列長計算(ASCII/SJIS用)
Definition: TnbStrLib.h:44
void Copy(LPSTR _dst, LPCSTR src)
[複製] 文字列コピー(ASCII/SJIS用)
Definition: TnbStrLib.h:89
TNB Library
Definition: TnbDoxyTitle.txt:2