7#ifndef ARP_USE_ARP_SYSTEM_COMMONS_EXCEPTIONS
8#include "Arp/Base/Commons/Exceptions/InvalidOperationException.hpp"
15#include "Arp/System/Commons/Exceptions/CommonException.hpp"
17namespace Arp {
namespace System {
namespace Commons
21class InvalidOperationException :
public CommonException
24 template<
typename... Args>
25 InvalidOperationException(
const char* message,
const Args& ... args);
26 InvalidOperationException(
const String& message);
27 InvalidOperationException(String&& message);
28 InvalidOperationException(
const String& message,
const Exception& innerException);
29 InvalidOperationException(String&& message, Exception&& innerException);
30 InvalidOperationException(
const InvalidOperationException& arg) =
default;
31 InvalidOperationException(InvalidOperationException&& arg) =
default;
32 virtual ~InvalidOperationException(
void) =
default;
38 InvalidOperationException& operator=(
const InvalidOperationException& arg) =
delete;
45template<
typename... Args>
47 : CommonException(
ExceptionTypeId::InvalidOperation, String::Format(message, args...))
52inline InvalidOperationException::InvalidOperationException(
const String& message)
53 : CommonException(ExceptionTypeId::InvalidOperation, message)
58inline InvalidOperationException::InvalidOperationException(String&& message)
59 : CommonException(ExceptionTypeId::InvalidOperation,
std::move(message))
64inline InvalidOperationException::InvalidOperationException(
const String& message,
const Exception& innerException)
65 : CommonException(ExceptionTypeId::InvalidOperation, message, innerException)
70inline InvalidOperationException::InvalidOperationException(String&& message, Exception&& innerException)
71 : CommonException(ExceptionTypeId::InvalidOperation,
std::move(message),
std::move(innerException))
79template<>
struct fmt::formatter<
Arp::System::Commons::InvalidOperationException> :
public fmt::ostream_formatter {};
This exception is thrown when an operation cannot be executed because the related state is invalid.
Definition: InvalidOperationException.hpp:16
InvalidOperationException(const char *message, const Args &... args)
Creates an InvalidOperationException with message.
Definition: InvalidOperationException.hpp:64
std::unique_ptr< Exception > Ptr
The smart pointer type of this class.
Definition: Exception.hpp:27
ExceptionTypeId
Specifies the type id of any exception derived by <see cref="CommonException".
Definition: ExceptionTypeId.hpp:15
Root namespace for the PLCnext API
Namespace of the C++ standard library