The GetType technique gets a LOT of data. But I don't see TimeOut anywhere.
Here's what I tried.
Visual Basic:
Catch exc As Exception
Dim ExceptionType As System.Type
ExceptionType = exc.GetType()
I set a breakpoint and did QuickWatch on ExceptionType (results below).
Lots of data but nothing seems useful.
I dug down several layers into the sub-items, but found only mud.
The Message.GetHashCode technique I'm using now seems to be reliable although clumsy.
I would prefer to use the "right" method, if only I could find it.
There has to be a TimeOut somewhere in this dark Microsoft cave.
- ExceptionType {System.RuntimeType} System.Type
+ [System.RuntimeType] {System.RuntimeType} System.RuntimeType
+ System.Reflection.MemberInfo {System.RuntimeType} System.Reflection.MemberInfo
DefaultLookup 28 System.Reflection.BindingFlags
+ FilterAttribute {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterName {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ FilterNameIgnoreCase {System.Reflection.MemberFilter} System.Reflection.MemberFilter
+ Missing {System.Reflection.Missing} Object
Delimiter "."c Char
EmptyTypes {Length=0} System.Type()
+ defaultBinder {System.DefaultBinder} System.Reflection.Binder
+ valueType {System.RuntimeType} System.Type
+ enumType {System.RuntimeType} System.Type
+ objectType {System.RuntimeType} System.Type
MemberType TypeInfo System.Reflection.MemberTypes
DeclaringType Nothing System.Type
ReflectedType Nothing System.Type
+ GUID {System.Guid} System.Guid
+ DefaultBinder {System.DefaultBinder} System.Reflection.Binder
+ Module {System.Reflection.Module} System.Reflection.Module
+ Assembly {System.Reflection.Assembly} System.Reflection.Assembly
+ TypeHandle {System.RuntimeTypeHandle} System.RuntimeTypeHandle
FullName "System.ApplicationException" String
Namespace "System" String
AssemblyQualifiedName "System.ApplicationException, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" String
+ BaseType {System.RuntimeType} System.Type
TypeInitializer Nothing System.Reflection.ConstructorInfo
Attributes 1056769 System.Reflection.TypeAttributes
IsNotPublic False Boolean
IsPublic True Boolean
IsNestedPublic False Boolean
IsNestedPrivate False Boolean
IsNestedFamily False Boolean
IsNestedAssembly False Boolean
IsNestedFamANDAssem False Boolean
IsNestedFamORAssem False Boolean
IsAutoLayout True Boolean
IsLayoutSequential False Boolean
IsExplicitLayout False Boolean
IsClass True Boolean
IsInterface False Boolean
IsValueType False Boolean
IsAbstract False Boolean
IsSealed False Boolean
IsEnum False Boolean
IsSpecialName False Boolean
IsImport False Boolean
IsSerializable True Boolean
IsAnsiClass True Boolean
IsUnicodeClass False Boolean
IsAutoClass False Boolean
IsArray False Boolean
IsByRef False Boolean
IsPointer False Boolean
IsPrimitive False Boolean
IsCOMObject False Boolean
IsGenericCOMObject False Boolean
HasElementType False Boolean
IsContextful False Boolean
IsMarshalByRef False Boolean
HasProxyAttribute False Boolean
+ UnderlyingSystemType {System.RuntimeType} System.Type