Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / MS / Internal / CriticalExceptions.cs / 1305600 / CriticalExceptions.cs
using System; #if PBTCOMPILER namespace MS.Internal.Markup #elif SYSTEM_XAML namespace System.Xaml #else using MS.Internal.WindowsBase; // FriendAccessAllowed namespace MS.Internal #endif { #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] #endif internal static class CriticalExceptions { // these are all the exceptions considered critical by PreSharp #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] #endif internal static bool IsCriticalException(Exception ex) { ex = Unwrap(ex); return ex is NullReferenceException || ex is StackOverflowException || ex is OutOfMemoryException || ex is System.Threading.ThreadAbortException || ex is System.Runtime.InteropServices.SEHException || ex is System.Security.SecurityException; } // these are exceptions that we should treat as critical when they // arise during callbacks into application code #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] internal static bool IsCriticalApplicationException(Exception ex) { ex = Unwrap(ex); return ex is StackOverflowException || ex is OutOfMemoryException || ex is System.Threading.ThreadAbortException || ex is System.Security.SecurityException; } #endif #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] #endif internal static Exception Unwrap(Exception ex) { // for certain types of exceptions, we care more about the inner // exception while (ex.InnerException != null && ( ex is System.Reflection.TargetInvocationException )) { ex = ex.InnerException; } return ex; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; #if PBTCOMPILER namespace MS.Internal.Markup #elif SYSTEM_XAML namespace System.Xaml #else using MS.Internal.WindowsBase; // FriendAccessAllowed namespace MS.Internal #endif { #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] #endif internal static class CriticalExceptions { // these are all the exceptions considered critical by PreSharp #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] #endif internal static bool IsCriticalException(Exception ex) { ex = Unwrap(ex); return ex is NullReferenceException || ex is StackOverflowException || ex is OutOfMemoryException || ex is System.Threading.ThreadAbortException || ex is System.Runtime.InteropServices.SEHException || ex is System.Security.SecurityException; } // these are exceptions that we should treat as critical when they // arise during callbacks into application code #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] internal static bool IsCriticalApplicationException(Exception ex) { ex = Unwrap(ex); return ex is StackOverflowException || ex is OutOfMemoryException || ex is System.Threading.ThreadAbortException || ex is System.Security.SecurityException; } #endif #if !PBTCOMPILER && !SYSTEM_XAML [FriendAccessAllowed] #endif internal static Exception Unwrap(Exception ex) { // for certain types of exceptions, we care more about the inner // exception while (ex.InnerException != null && ( ex is System.Reflection.TargetInvocationException )) { ex = ex.InnerException; } return ex; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeNamespaceImportCollection.cs
- newinstructionaction.cs
- CommandLibraryHelper.cs
- DaylightTime.cs
- SID.cs
- mediapermission.cs
- CodeTypeReference.cs
- BamlVersionHeader.cs
- CustomErrorsSection.cs
- TextRangeBase.cs
- SafeFindHandle.cs
- ApplicationDirectoryMembershipCondition.cs
- UIntPtr.cs
- Parameter.cs
- StrongNameUtility.cs
- SQLGuid.cs
- TreeWalker.cs
- WeakReferenceEnumerator.cs
- SerializableAuthorizationContext.cs
- CollectionChangedEventManager.cs
- ParameterToken.cs
- ClockController.cs
- ResourceReferenceExpressionConverter.cs
- CharacterMetrics.cs
- StringFormat.cs
- DataGridBoolColumn.cs
- WorkingDirectoryEditor.cs
- ProcessThreadCollection.cs
- InstanceNotFoundException.cs
- HttpDebugHandler.cs
- Internal.cs
- StreamUpdate.cs
- XmlNamedNodeMap.cs
- AuthorizationBehavior.cs
- NoneExcludedImageIndexConverter.cs
- TemplatedWizardStep.cs
- FixedSOMImage.cs
- UrlMappingsSection.cs
- FrameworkTemplate.cs
- PassportPrincipal.cs
- CodeMemberProperty.cs
- Model3DCollection.cs
- PrinterUnitConvert.cs
- WebControl.cs
- Compiler.cs
- _DigestClient.cs
- EntryIndex.cs
- MessagingDescriptionAttribute.cs
- WorkflowViewService.cs
- uribuilder.cs
- metadatamappinghashervisitor.cs
- CustomErrorsSection.cs
- ControlCachePolicy.cs
- SQLUtility.cs
- ButtonBaseAutomationPeer.cs
- SqlDataSourceWizardForm.cs
- ServiceOperationParameter.cs
- ExternalException.cs
- PenContexts.cs
- APCustomTypeDescriptor.cs
- SafeSystemMetrics.cs
- RoleExceptions.cs
- LinkDesigner.cs
- ConnectionConsumerAttribute.cs
- DynamicRenderer.cs
- FrameworkElementFactory.cs
- TableRow.cs
- DataSourceCacheDurationConverter.cs
- XmlSchemaDatatype.cs
- ThreadStartException.cs
- CompatibleIComparer.cs
- Char.cs
- GridViewUpdatedEventArgs.cs
- WebDisplayNameAttribute.cs
- SafeRightsManagementEnvironmentHandle.cs
- CrossAppDomainChannel.cs
- DbBuffer.cs
- SimpleBitVector32.cs
- VariableExpressionConverter.cs
- PropertyGridView.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ContainerActivationHelper.cs
- unsafenativemethodstextservices.cs
- TdsParserSessionPool.cs
- EllipseGeometry.cs
- RegexMatchCollection.cs
- PropertyMapper.cs
- IDReferencePropertyAttribute.cs
- HwndSourceKeyboardInputSite.cs
- RegisteredDisposeScript.cs
- TextViewElement.cs
- TraceSource.cs
- WebBrowserBase.cs
- DropDownList.cs
- ModelTreeEnumerator.cs
- Int32AnimationUsingKeyFrames.cs
- RadioButton.cs
- RunWorkerCompletedEventArgs.cs
- XmlAutoDetectWriter.cs
- EntityModelBuildProvider.cs