Endjin.Assembly.ChangeDetection.Infrastructure.LastException.GetLastException C# (CSharp) Method

GetLastException() public method

Get from the current thread the last thrown exception object.
public GetLastException ( ) : Exception
return System.Exception
        public Exception GetLastException()
        {
            Exception lret = null;
            if (myThreadPointerFieldInfo != null)
            {
                var pInternalThread = (IntPtr)myThreadPointerFieldInfo.GetValue(Thread.CurrentThread);
                if (pInternalThread != IntPtr.Zero && myThreadOffset != -1)
                {
                    var ppEx = Marshal.ReadIntPtr(pInternalThread, myThreadOffset);
                    if (ppEx != IntPtr.Zero)
                    {
                        var pEx = Marshal.ReadIntPtr(ppEx);
                        if (pEx != IntPtr.Zero)
                        {
                            lret = this.myConverter.ConvertFromIntPtr(pEx);
                        }
                    }
                }
            }
            return lret;
        }
    }