CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdErrorContext.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24
25#ifndef _OdErrorContext_h_Included_
26#define _OdErrorContext_h_Included_
27
28#include "OdaDefs.h"
29#include "RxObjectImpl.h"
30#include "OdString.h"
31
32#include "TD_PackPush.h"
33
45class FIRSTDLL_EXPORT OdErrorContext : public OdRxObject
46{
47protected:
56public:
57
61 virtual ~OdErrorContext();
62
66 virtual OdString description() const = 0;
67
71 virtual OdResult code() const = 0;
72
92
97 void setPreviousError(OdErrorContext* pPreviousError);
98};
99
100/* \details
101 This class is used by OdError constructed from an error code
102*/
104{
105 OdResult m_res;
106public:
112 OdDefaultErrorContext(OdResult err, OdErrorContext* pPreviousError = nullptr);
116 virtual OdResult code() const override;
121 virtual OdString description() const override;
122};
123
124/* \details
125 This class is used by OdError constructed from an error message.
126*/
128{
129 OdString m_sErrorMessage;
130public:
136 OdUserErrorContext(const OdString& szErrorMessage, OdErrorContext* pPreviousError = nullptr);
140 virtual OdResult code() const override;
144 virtual OdString description() const override;
145};
146
147/* \details
148 This class is used by OdError_FileException and its descendants
149*/
151{
152 OdString m_fileName;
153 OdString m_extended;
154public:
162 OdFileExceptionContext(OdResult error, const OdString& fileName, const OdString& extended = OdString::kEmpty, OdErrorContext* pPreviousError = nullptr);
170 virtual OdString description() const override;
171};
172
173#include "TD_PackPop.h"
174
175#endif
OdResult
Definition OdResult.h:29
#define FIRSTDLL_EXPORT
Definition RootExport.h:39
OdDefaultErrorContext(OdResult err, OdErrorContext *pPreviousError=nullptr)
virtual OdResult code() const override
virtual OdString description() const override
virtual OdString description() const =0
OdString completeDescription() const
void setPreviousError(OdErrorContext *pPreviousError)
OdErrorContext * m_pPreviousError
OdErrorContext * getPreviousError() const
OdErrorContext(OdErrorContext *pPreviousError)
virtual OdResult code() const =0
virtual ~OdErrorContext()
virtual OdString description() const override
OdFileExceptionContext(OdResult error, const OdString &fileName, const OdString &extended=OdString::kEmpty, OdErrorContext *pPreviousError=nullptr)
OdString getFileName() const
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
Definition OdString.h:100
virtual OdResult code() const override
virtual OdString description() const override
OdUserErrorContext(const OdString &szErrorMessage, OdErrorContext *pPreviousError=nullptr)