WPILibC++  2020.3.2-60-g3011ebe
wpi::StringError Class Reference

This class wraps a string in an Error. More...

#include <Error.h>

Inheritance diagram for wpi::StringError:
wpi::ErrorInfo< StringError > wpi::ErrorInfoBase

Public Member Functions

 StringError (std::error_code EC, const Twine &S=Twine())
 
 StringError (const Twine &S, std::error_code EC)
 
void log (raw_ostream &OS) const override
 Print an error message to an output stream.
 
std::error_code convertToErrorCode () const override
 Convert this error to a std::error_code. More...
 
const std::string & getMessage () const
 
- Public Member Functions inherited from wpi::ErrorInfo< StringError >
const void * dynamicClassID () const override
 
bool isA (const void *const ClassID) const override
 
- Public Member Functions inherited from wpi::ErrorInfoBase
virtual std::string message () const
 Return the error message as a string.
 
template<typename ErrorInfoT >
bool isA () const
 

Static Public Attributes

static char ID
 

Additional Inherited Members

- Static Public Member Functions inherited from wpi::ErrorInfo< StringError >
static const void * classID ()
 
- Static Public Member Functions inherited from wpi::ErrorInfoBase
static const void * classID ()
 

Detailed Description

This class wraps a string in an Error.

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 wpi::make_error<PDBError>(pdb_error_code::dia_failed_loading,
"Additional information");
}

Member Function Documentation

◆ convertToErrorCode()

std::error_code wpi::StringError::convertToErrorCode ( ) const
overridevirtual

Convert this error to a std::error_code.

This is a temporary crutch to enable interaction with code still using std::error_code. It will be removed in the future.

Implements wpi::ErrorInfoBase.


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