Raw File
CNTKException.h
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
// CNTKException.h -- Managed CNTK Exception wrappers
//

#include "ExceptionWithCallStack.h"

using namespace std;
using namespace System;
using namespace System::Collections::Generic;
using namespace System::Collections;
using namespace System::Runtime::Serialization;
using namespace Microsoft::MSR::CNTK;

namespace Microsoft { namespace MSR { namespace CNTK { namespace Extensibility { namespace Managed {

[Serializable]
public ref class CNTKException : Exception, ISerializable
{
public:
    CNTKException() : Exception()
    {}

    CNTKException(String^ message) : Exception(message)
    {}

    CNTKException(String^ message, String^ callstack) : Exception(message), NativeCallStack(callstack)
    {}

    const String^ NativeCallStack;

protected:

    CNTKException(SerializationInfo^ info, StreamingContext context) : Exception(info, context)
    {}
};

[Serializable]
public ref class CNTKRuntimeException : CNTKException
{
public:
    CNTKRuntimeException() : CNTKException()
    {}

    CNTKRuntimeException(String^ message, String^ callstack) : CNTKException(message, callstack)
    {}

protected:

    CNTKRuntimeException(SerializationInfo^ info, StreamingContext context) : CNTKException(info, context)
    {}
};

[Serializable]
public ref class CNTKLogicErrorException : CNTKException
{
public:
    CNTKLogicErrorException() : CNTKException()
    {}

    CNTKLogicErrorException(String^ message, String^ callstack) : CNTKException(message, callstack)
    {}

protected:

    CNTKLogicErrorException(SerializationInfo^ info, StreamingContext context) : CNTKException(info, context)
    {}
};

[Serializable]
public ref class CNTKInvalidArgumentException : CNTKException
{
public:
    CNTKInvalidArgumentException() : CNTKException()
    {}

    CNTKInvalidArgumentException(String^ message, String^ callstack) : CNTKException(message, callstack)
    {}

protected:

    CNTKInvalidArgumentException(SerializationInfo^ info, StreamingContext context) : CNTKException(info, context)
    {}
};

[Serializable]
public ref class CNTKBadAllocException : CNTKException
{
public:
    CNTKBadAllocException() : CNTKException()
    {}

    CNTKBadAllocException(String^ message) : CNTKException(message)
    {}

protected:

    CNTKBadAllocException(SerializationInfo^ info, StreamingContext context) : CNTKException(info, context)
    {}
};


}}}}}
back to top