Files
FlaxEngine/Source/Engine/Debug/Exceptions/CLRInnerException.h
Wojtek Figat 510fc443e8 Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
2023-03-27 17:29:42 +02:00

42 lines
1.0 KiB
C++

// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Debug/Exception.h"
namespace Log
{
/// <summary>
/// The exception that is thrown when a method call is invalid in an object's current state.
/// </summary>
class CLRInnerException : public Exception
{
public:
/// <summary>
/// Init
/// </summary>
CLRInnerException()
: CLRInnerException(String::Empty)
{
}
/// <summary>
/// Creates default exception with additional data
/// </summary>
/// <param name="additionalInfo">Additional information that help describe error</param>
CLRInnerException(const String& additionalInfo)
: Exception(String::Format(TEXT("Current {0} CLR method has thrown an inner exception"),
#if USE_MONO
TEXT("Mono")
#elif USE_CORECLR
TEXT(".NET Core")
#else
TEXT("Unknown engine")
#endif
), additionalInfo)
{
}
};
}