Base Framework
Public Types | Public Member Functions | List of all members
ArgumentException Class Reference

Argument exception. More...

#include <base/ArgumentException.h>

Inherits Exception.

Public Types

enum  Cause {
  INVALID_SYMBOL, INVALID_OPTION, VALUE_MISSING, VALUE_PRESENT,
  INVALID_VALUE, STRICT_VIOLATION, MANDATORY_VIOLATION, ORPHAN
}
 
- Public Types inherited from Exception
enum  DumpOnThrow { DUMP_ON_THROW_NO = 0, DUMP_ON_THROW_EXCEPTION, DUMP_ON_THROW_STACK }
 
typedef void(* ExceptionHandler) (const Exception *exception)
 

Public Member Functions

 ArgumentException () noexcept
 
 ArgumentException (const char *message) noexcept
 
 ArgumentException (const Type &type) noexcept
 
 ArgumentException (const char *message, const Type &type) noexcept
 
int getArgumentNumber () const noexcept
 
- Public Member Functions inherited from Exception
 Exception () noexcept
 
 Exception (const char *message) noexcept
 
 Exception (const Type &type) noexcept
 
 Exception (const char *message, const Type &type) noexcept
 
 Exception (const Exception &copy) noexcept
 
 Exception (Exception &&move) noexcept
 
unsigned int getCause () const noexcept
 
void setCause (unsigned int cause) noexcept
 
unsigned int getError () const noexcept
 
void setError (unsigned int error) noexcept
 
const char * getMessage () const noexcept
 
void setMessage (const char *message) noexcept
 
template<decltype(sizeof(void *)) SIZE>
void setMessage (const char(&_message)[SIZE]) noexcept
 
virtual Type getThisType () const noexcept
 
const TypegetType () const noexcept
 
void setType (const Type &type) noexcept
 
virtual bool isCommonException () const noexcept
 
OwnedNativeString getHTML () const
 
virtual ~Exception () noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from Exception
static void onThrow (const Exception &exception) noexcept
 
static void rethrow ()
 
static bool getDumpExceptions () noexcept
 
static void setDumpExceptions (bool _dumpExceptions) noexcept
 
static ExceptionHandler setExceptionHandler (ExceptionHandler _exceptionHandler) noexcept
 
static bool hasPendingException () noexcept
 
static bool isUnwinding () noexcept
 
static unsigned int getPendingExceptions () noexcept
 
static const char * getStdExceptionName (const std::exception &e) noexcept
 
static Type getExceptionType () noexcept
 
static StackTrace getStackTrace ()
 
static void setDumpOnThrow (DumpOnThrow dumpOnThrow) noexcept
 
- Static Public Attributes inherited from Exception
static constexpr bool SUPPORTS_EXCEPTIONS = true
 

Detailed Description

Argument exception.

This exception indicates an invalid argument.

See also
ArgumentParser
Version
1.0

Member Enumeration Documentation

◆ Cause

Causes.

Enumerator
INVALID_SYMBOL 

Invalid short name.

INVALID_OPTION 

Option has not been registered.

VALUE_MISSING 

Value of option is missing.

VALUE_PRESENT 

Option does not permit a value.

INVALID_VALUE 

Value of option is invalid.

STRICT_VIOLATION 

Strict option is specified more than once.

MANDATORY_VIOLATION 

Mandatory option is not specified.

ORPHAN 

Orphan value.

Constructor & Destructor Documentation

◆ ArgumentException() [1/4]

ArgumentException::ArgumentException ( )
noexcept

Initializes the exception object with no message.

◆ ArgumentException() [2/4]

ArgumentException::ArgumentException ( const char *  message)
noexcept

Initializes the exception object.

Parameters
messageThe message.

◆ ArgumentException() [3/4]

ArgumentException::ArgumentException ( const Type type)
noexcept

Initializes the exception object without an associated message.

Parameters
typeThe identity of the type.

◆ ArgumentException() [4/4]

ArgumentException::ArgumentException ( const char *  message,
const Type type 
)
noexcept

Initializes the exception object.

Parameters
messageAn NULL-terminated string (ASCII).
typeThe identity of the type.

Member Function Documentation

◆ getArgumentNumber()

int ArgumentException::getArgumentNumber ( ) const
inlinenoexcept

Returns the argument number. Negative if invalid.