Personal Notes: Deciphering an error

Personal notes and links to try and figure out some errors shown in Blend and VS2010. 

Current Error Working on (thrown on a Telerik Radial Gauge):

ArgumentException: Value does not fall within the expected range.

MS.Internal.XcpImports.CheckHRESULT(UInt32 hr)
MS.Internal.XcpImports.Collection_InsertValue[T](PresentationFrameworkCollection '1collection, UInt32 index, CValue value)
System.Windows.PresentationFrameworkCollection '1.InsertDependencyObject(Int32 index, DependencyObjectValue)
System.Windows.Controls.UIElementCollection.InsertInternal(Int32 index,UIElement value)



Current Error #2: current error when viewing the gauge in Blend, usually the Telerik radial gauges in the display view - will not display the image at all

Catastrophic Failure = HRESULT
Exception From HRESULT: 0x8000FFF (EUNEXPECTED)

-----------------------------------------------------------------------------------------------------------------
The HRESULT numbers are explained in the MAPI Properies page link - it lists the various codes that are displayed in the SCODE(HRESULT) numerical format.

8000FFF = Properties defined by clients, and occasionally service providers that are identified by name through the IMAPIProp::GetIDsFromNames method. (also as GUID which is one of the links provided to explain more)

Just spoke to a friend who has been programming for years and when I showed her the error above (the 8000FFF and the definition provided by MSDN), and the containing error code. She explained it to me this way: "The ID being provided is not understood by the underlying software." So, it seems that whatever the ID being sent to the base/underlying software is not being matched up to any value that the software can understand - so nothing can be understood. Going to look more into this - get more details to understand how this connects (She continued to explain that if the Interface sends a command to the software saying it wants "Blue" but sends a Hex of 445 - the software cannot connect the command/instruction to the value and sends back an error. Again, I need to learn a lot more about this to understand it better myself)

Research Notes: using the definitions and "tearing apart" the elements in the error message.

ArgumentException = ArgumentOutOfRangeException 
thrown by methods that verify arguments are in a given range. 
(gauge is trying to set negative numbers as the minimum - the minimum is less than 0)

The Int32 and UInt32 notes
The Int32 Structure definition shows that the MinValue and MaxValue fields are represented by a Int32 value.  However, the Int32 does allow for negative numbers in it's MinValue.

UInt32 has a range with a minimum of 0 - no negative numbers.

UInt32 implements the following: 

documentation recommends using the Convert method instead. Not sure if this has anything to do with the way the values are being sent to the Min and Max

I have also noticed that many elements in the Silverlight/WPF definitions did lead to older ones in sections such as Office or even the Mobile links which help explain the context and many of the numerical codes much better. Below is a running list (as separated by information the best that I can) of the mdsn links that seemed (not always were) helpful at the time.


MSDN Definitions referenced



SCODE

MAPI Overview #1
Referencing Properties by Namespace
PropertyAccessor Object
PropertyAccessor Object Members (this mirrors a lot of the same members seen in Silverlight.  Such as class and parent.)
Referencing Properties by Namespace (office information)





No comments:

Post a Comment