xtd 0.2.0
Loading...
Searching...
No Matches
xtd::argument_exception Class Reference
Inheritance diagram for xtd::argument_exception:
xtd::system_exception xtd::exception xtd::object xtd::argument_null_exception xtd::argument_out_of_range_exception

Definition

The exception that is thrown when one of the arguments provided to a method is not valid.

Header
#include <xtd/argument_exception>
Namespace
xtd
Library
xtd.core
Examples
The following example demonstrates how to throw and catch an argument_exception.
#include <xtd/argument_exception>
#include <xtd/console>
using namespace xtd;
int divide_by_two(int num) {
// If num is an odd number, throw an argument_exception.
if ((num & 1) == 1) throw argument_exception("Number must be even");
// num is even, return half of its value.
return num / 2;
}
auto main() -> int {
// argument_exception is not thrown because 10 is an even number.
console::write_line("10 divided by 2 is {0}", divide_by_two(10));
try {
// argument_exception is thrown because 7 is not an even number.
console::write_line("7 divided by 2 is {0}", divide_by_two(7));
} catch (const argument_exception&) {
// Show the user that 7 cannot be divided by 2.
console::write_line("7 is not divided by 2 integrally.");
}
}
// This code produces the following output :
//
// Exception occured :
// -------------------
// 10 divided by 2 is 5
// 7 is not divided by 2 integrally.
The exception that is thrown when one of the arguments provided to a method is not valid.
Definition argument_exception.h:24
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Todo:
add param_name property and constructors param (param_name is the parameter that cause the exception).
Examples
argument_exception.cpp, and stack_frame.cpp.

Public Constructors

 argument_exception (const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const std::error_code &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const std::error_code &error, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const std::exception &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const std::exception &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const std::exception &inner_exception, const std::error_code &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const std::exception &inner_exception, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 
 argument_exception (const xtd::string &message, const std::exception &inner_exception, const std::error_code &error, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class argument_exception.
 

Public static Methods

static void throw_if_empty (const xtd::string &argument, const xtd::string &param_name=xtd::string::empty_string, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Throws an exception if argument is empty.
 
static void throw_if_empty_or_white_space (const xtd::string &argument, const xtd::string &param_name=xtd::string::empty_string, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Throws an exception if argument is empty, or consists only of white-space characters.
 

Additional Inherited Members

- Public Types inherited from xtd::exception
using exception_ref = xtd::optional< std::reference_wrapper< const xtd::exception > >
 Optional reference wrapper on std::exception.
 
- Public Member Functions inherited from xtd::system_exception
 system_exception (const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::optional< xtd::string > &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
template<typename exception_t >
 system_exception (const xtd::optional< xtd::string > &message, const exception_t &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const std::error_code &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const std::error_code &error, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const std::exception &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const std::exception &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const std::exception &inner_exception, const std::error_code &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const std::exception &inner_exception, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
 system_exception (const xtd::string &message, const std::exception &inner_exception, const std::error_code &error, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class xtd::system_exception.
 
virtual const xtd::stringfile_path () const noexcept
 Gets file path where exception occurred.
 
virtual xtd::size line_number () const noexcept
 Gets Line number where the exception occurred.
 
virtual const xtd::stringmember_name () const noexcept
 Gets file member where exception occurred.
 
virtual const xtd::stringname () const noexcept
 Gets full class name the exception.
 
- Public Member Functions inherited from xtd::exception
 exception (const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class exception.
 
 exception (const xtd::optional< xtd::string > &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class exception.
 
template<typename exception_t >
 exception (const xtd::optional< xtd::string > &message, const exception_t &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
 Create a new instance of class exception.
 
virtual const xtd::stringhelp_link () const noexcept
 Gets a link to the help file associated with this exception.
 
virtual void help_link (const xtd::string &value) noexcept
 Sets a link to the help file associated with this exception.
 
virtual int32 h_result () const noexcept
 Gets HRESULT, a coded numerical value that is assigned to a specific exception.
 
virtual void h_result (int32 value) noexcept
 Sets HRESULT, a coded numerical value that is assigned to a specific exception.
 
virtual const std::error_code & error_code () const noexcept
 Gets error associate to the exception.
 
virtual void error_code (const std::error_code &value) noexcept
 Sets error associate to the exception.
 
virtual exception_ref inner_exception () const noexcept
 Gets the exception instance that caused the current exception.
 
virtual const xtd::stringmessage () const noexcept
 Gets message associate to the exception.
 
virtual const xtd::stringsource () const noexcept
 Gets the name of the application or the object that causes the error.
 
virtual void source (const xtd::string &value) noexcept
 Sets the name of the application or the object that causes the error.
 
virtual xtd::string stack_trace () const noexcept
 Gets a string representation of the immediate frames on the call stack.
 
virtual const xtd::diagnostics::stack_frameget_last_stack_frame () const noexcept
 Gets the last stack frame where the exception occurred.
 
xtd::string to_string () const noexcept override
 Returns a string that represents the current exception.
 
const char * what () const noexcept override
 Gets message associate to the exception.
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
- Static Public Member Functions inherited from xtd::exception
static bool enable_stack_trace () noexcept
 Gets if the generation of the stack trace is enabled.
 
static void enable_stack_trace (bool enable) noexcept
 Sets if the generation of the stack trace is enabled. @paran enable triue if stack trace enabled; otherwhise false.
 
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

Constructor & Destructor Documentation

◆ argument_exception() [1/10]

xtd::argument_exception::argument_exception ( const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current())
inlineexplicit

Create a new instance of class argument_exception.

Parameters
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().
Remarks
Message is set with the default message associate to the exception.

◆ argument_exception() [2/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

◆ argument_exception() [3/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const std::error_code &  error,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
errorError code associate to the exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

◆ argument_exception() [4/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const xtd::string help_link,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
help_linkHelp link string associate to the exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

◆ argument_exception() [5/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const std::error_code &  error,
const xtd::string help_link,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
errorError code associate to the exception.
help_linkHelp link string associate to the exception.

◆ argument_exception() [6/10]

xtd::argument_exception::argument_exception ( const std::exception &  inner_exception,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
inner_exceptionThe exception that is the cause of the current exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().
Remarks
Message is set with the default message associate to the exception.

◆ argument_exception() [7/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const std::exception &  inner_exception,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
inner_exceptionThe exception that is the cause of the current exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

◆ argument_exception() [8/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const std::exception &  inner_exception,
const std::error_code &  error,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
inner_exceptionThe exception that is the cause of the current exception.
errorError code associate to the exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

◆ argument_exception() [9/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const std::exception &  inner_exception,
const xtd::string help_link,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
inner_exceptionThe exception that is the cause of the current exception.
help_linkHelp link string associate to the exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

◆ argument_exception() [10/10]

xtd::argument_exception::argument_exception ( const xtd::string message,
const std::exception &  inner_exception,
const std::error_code &  error,
const xtd::string help_link,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlineexplicit

Create a new instance of class argument_exception.

Parameters
messageMessage string associate to the exception.
inner_exceptionThe exception that is the cause of the current exception.
errorError code associate to the exception.
help_linkHelp link string associate to the exception.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().

Member Function Documentation

◆ throw_if_empty()

static void xtd::argument_exception::throw_if_empty ( const xtd::string argument,
const xtd::string param_name = xtd::string::empty_string,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Throws an exception if argument is empty.

Parameters
argumentThe string argument to validate as non-empty.
param_name(optional) The name of the parameter with which argument corresponds.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().
Exceptions
xtd::argument_exception`argument` is empty.

◆ throw_if_empty_or_white_space()

static void xtd::argument_exception::throw_if_empty_or_white_space ( const xtd::string argument,
const xtd::string param_name = xtd::string::empty_string,
const xtd::diagnostics::stack_frame stack_frame = xtd::diagnostics::stack_frame::current() 
)
inlinestatic

Throws an exception if argument is empty, or consists only of white-space characters.

Parameters
argumentThe string argument to validate.
param_name(optional) The name of the parameter with which argument corresponds.
stack_frame(optional) Contains current stack frame about member name, file path and line number in the file where the exception is occurred. Typically xtd::diagnostics::stack_frame::current().
Exceptions
xtd::argument_exception`argument` is empty or consists only of white-space characters.

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