// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Debug/Exception.h"
namespace Log
{
///
/// The exception that is thrown when an Argument pointer is null and should not be.
///
class ArgumentNullException : public Exception
{
public:
///
/// Init
///
ArgumentNullException()
: ArgumentNullException(String::Empty)
{
}
///
/// Creates default exception with additional data
///
/// Additional information that help describe error
ArgumentNullException(const String& additionalInfo)
: Exception(TEXT("One or more of provided arguments is null"), additionalInfo)
{
}
///
/// Creates default exception with additional data
///
/// Additional information that help describe error
ArgumentNullException(const String& argumentName, const String& additionalInfo)
: Exception(String::Format(TEXT("Provided argument {0} is null."), argumentName), additionalInfo)
{
}
};
}