This class wraps a string in an Error.

Synopsis

Declared in <llvm/Support/Error.h>

class StringError
    : public ErrorInfo<StringError>

Description

StringError is useful in cases where the client is not expected to be able to consume the specific error message programmatically (for example, if the error message is to be presented to the user).

StringError can also be used when additional information is to be printed along with a error_code message. Depending on the constructor called, this class can either display: 1. the error_code message (ECError behavior) 2. a string 3. the error_code message and a string

These behaviors are useful when subtyping is required; for example, when a specific library needs an explicit error type. In the example below, PDBError is derived from StringError:

Expected<int> foo() {
   return llvm::make_error<PDBError>(pdb_error_code::dia_failed_loading,
                                     "Additional information");
}

Base Classes

Name

Description

ErrorInfo<StringError>

Base class for user error types. Users should declare their error types like:

Member Functions

Name

Description

StringError [constructor]

Constructors

convertToErrorCode [virtual]

Convert this error to a std::error_code.

getMessage

Return the stored error message string.

log [virtual]

Write this error's message to OS.

Static Member Functions

Name

Description

classID

Return the RTTI class identifier for ThisErrT.

Static Data Members

Name

Description

ID

RTTI identifier used by ErrorInfo::classID.

Using Declarations

Name

Description

ErrorInfo

Inherit constructors from the parent error‐info type.

Created with MrDocs