Microsoft Information Protection (MIP) SDK for C++: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C++
Loading...
Searching...
No Matches
Error Class Referenceabstract

Base class for all errors that will be reported (thrown or returned) from MIP SDK. More...

#include <src/api/mip/error.h>

+ Inheritance diagram for Error:
+ Collaboration diagram for Error:

Public Member Functions

void AddDebugInfo (const std::string &key, const std::string &value, bool sensitive=false)
 Add debug info entry.
 
virtual std::shared_ptr< ErrorClone () const =0
 Clone the error.
 
const std::map< std::string, std::string > & GetDebugInfo () const
 Get debug info.
 
const std::string & GetErrorName () const
 Get the error name.
 
virtual ErrorType GetErrorType () const
 Get the error type.
 
const std::string & GetMessage (bool maskPII=false) const
 Get the error message.
 
void SetMessage (const std::string &msg)
 Set the error message.
 
char const * what () const noexcept override
 Get the error message.
 

Public Attributes

std::map< std::string, std::string > mDebugInfo
 
std::string mMessage
 
std::string mName
 
ErrorType mType
 

Detailed Description

Base class for all errors that will be reported (thrown or returned) from MIP SDK.

Definition at line 114 of file error.h.

Member Function Documentation

◆ AddDebugInfo()

void Error::AddDebugInfo ( const std::string & key,
const std::string & value,
bool sensitive = false )
inline

Add debug info entry.

Parameters
keyDebug info key
valueDebug info value

Definition at line 179 of file error.h.

179 {
180 if (!key.empty() && !value.empty()) {
181 mDebugInfo[key] = value;
182 mFormattedMessage = mFormattedMessage + ", " + key + "=" + value;
183 mMaskedMessage = mMaskedMessage + ", " + key + "=" + (sensitive ? "***" : value);
184 }
185 }
std::map< std::string, std::string > mDebugInfo
Definition error.h:225

References mDebugInfo.

Referenced by DelegateResponseError::DelegateResponseError(), DelegateResponseError::DelegateResponseError(), and DelegateResponseError::DelegateResponseError().

◆ Clone()

virtual std::shared_ptr< Error > Error::Clone ( ) const
pure virtual

Clone the error.

Returns
a clone of the error.

Implemented in JustificationRequiredError.

◆ GetDebugInfo()

const std::map< std::string, std::string > & Error::GetDebugInfo ( ) const
inline

Get debug info.

Returns
Debug info (keys/values)

Definition at line 192 of file error.h.

192{ return mDebugInfo; }

References mDebugInfo.

◆ GetErrorName()

const std::string & Error::GetErrorName ( ) const
inline

Get the error name.

Returns
the error name.

Definition at line 144 of file error.h.

144{ return mName; }
std::string mName
Definition error.h:226

References mName.

◆ GetErrorType()

virtual ErrorType Error::GetErrorType ( ) const
inlinevirtual

Get the error type.

Returns
the error type.

Definition at line 137 of file error.h.

137{ return mType; }
ErrorType mType
Definition error.h:227

References mType.

◆ GetMessage()

const std::string & Error::GetMessage ( bool maskPII = false) const
inline

Get the error message.

Returns
the error message.

Definition at line 151 of file error.h.

151 {
152 return maskPII ? mMaskedMessage : mFormattedMessage;
153 }

◆ SetMessage()

void Error::SetMessage ( const std::string & msg)
inline

Set the error message.

Parameters
msgthe error message.

Definition at line 160 of file error.h.

160 {
161 std::string* targetStrings[] = { &mFormattedMessage, &mMaskedMessage };
162 for (auto* targetString : targetStrings) {
163 size_t pos = targetString->find(mMessage);
164 if (pos != std::string::npos) {
165 targetString->replace(pos, mMessage.length(), msg);
166 } else {
167 targetString->replace(0, 0, msg);
168 }
169 }
170 mMessage = msg;
171 }
std::string mMessage
Definition error.h:224

References mMessage.

◆ what()

char const * Error::what ( ) const
inlineoverridenoexcept

Get the error message.

Returns
the error message

Definition at line 121 of file error.h.

121 {
122 return mFormattedMessage.c_str();
123 }

Member Data Documentation

◆ mDebugInfo

std::map<std::string, std::string> Error::mDebugInfo

Definition at line 225 of file error.h.

Referenced by AddDebugInfo(), and GetDebugInfo().

◆ mMessage

std::string Error::mMessage

Definition at line 224 of file error.h.

Referenced by DelegateResponseError::DelegateResponseError(), and SetMessage().

◆ mName

std::string Error::mName

Definition at line 226 of file error.h.

Referenced by GetErrorName().

◆ mType

ErrorType Error::mType

Definition at line 227 of file error.h.

Referenced by GetErrorType().


The documentation for this class was generated from the following file: