Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / System / Windows / Threading / DispatcherExceptionFilterEventArgs.cs / 1 / DispatcherExceptionFilterEventArgs.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Arguments for the ExceptionFilter event. The event is raised // when a dispatcher exception has occured. This event is raised // before the callstack is unwound. // // History: // 07/22/2003 : KenLai - Created // //--------------------------------------------------------------------------- using System.Diagnostics; using System; namespace System.Windows.Threading { ////// Arguments for the ExceptionFilter event. The event is raised when /// a dispatcher exception has occured. /// ////// This event is raised before the callstack is unwound. /// public sealed class DispatcherUnhandledExceptionFilterEventArgs : DispatcherEventArgs { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- // Initialize a new event argument. internal DispatcherUnhandledExceptionFilterEventArgs(Dispatcher dispatcher) : base(dispatcher) { } //------------------------------------------------------ // // Public Properties // //----------------------------------------------------- ////// The exception that was raised on a thread operating within /// the dispatcher. /// public Exception Exception { get { return _exception; } } ////// Whether or not the exception should be caught and the exception /// event handlers called. /// ////// A filter handler can set this property to false to request that /// the exception not be caught, to avoid the callstack getting /// unwound up to the Dispatcher. /// /// A previous handler in the event multicast might have already set this /// property to false, signalling that the exception will not be caught. /// We let the "don't catch" behavior override all others because /// it most likely means a debugging scenario. /// public bool RequestCatch { get { return _requestCatch; } set { // Only allow to be set false. if (value == false) { _requestCatch = value; } } } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Initialize the preallocated args class for use. /// ////// This method MUST NOT FAIL because it is called from an exception /// handler: do not do any heavy lifting or allocate more memory. /// This initialization step is separated from the constructor /// precisely because we wanted to preallocate the memory and avoid /// hitting a secondary exception in the out-of-memory case. /// /// /// The exception that was raised while executing code via the /// dispatcher. /// /// /// Whether or not the exception should be caught and the /// exception handlers called. /// internal void Initialize(Exception exception, bool requestCatch) { Debug.Assert(exception != null); _exception = exception; _requestCatch = requestCatch; } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Exception _exception; private bool _requestCatch; } ////// Delegate for the events that convey the state of the UiConext /// in response to various actions that involve items. /// public delegate void DispatcherUnhandledExceptionFilterEventHandler(object sender, DispatcherUnhandledExceptionFilterEventArgs e); } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Arguments for the ExceptionFilter event. The event is raised // when a dispatcher exception has occured. This event is raised // before the callstack is unwound. // // History: // 07/22/2003 : KenLai - Created // //--------------------------------------------------------------------------- using System.Diagnostics; using System; namespace System.Windows.Threading { ////// Arguments for the ExceptionFilter event. The event is raised when /// a dispatcher exception has occured. /// ////// This event is raised before the callstack is unwound. /// public sealed class DispatcherUnhandledExceptionFilterEventArgs : DispatcherEventArgs { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- // Initialize a new event argument. internal DispatcherUnhandledExceptionFilterEventArgs(Dispatcher dispatcher) : base(dispatcher) { } //------------------------------------------------------ // // Public Properties // //----------------------------------------------------- ////// The exception that was raised on a thread operating within /// the dispatcher. /// public Exception Exception { get { return _exception; } } ////// Whether or not the exception should be caught and the exception /// event handlers called. /// ////// A filter handler can set this property to false to request that /// the exception not be caught, to avoid the callstack getting /// unwound up to the Dispatcher. /// /// A previous handler in the event multicast might have already set this /// property to false, signalling that the exception will not be caught. /// We let the "don't catch" behavior override all others because /// it most likely means a debugging scenario. /// public bool RequestCatch { get { return _requestCatch; } set { // Only allow to be set false. if (value == false) { _requestCatch = value; } } } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Initialize the preallocated args class for use. /// ////// This method MUST NOT FAIL because it is called from an exception /// handler: do not do any heavy lifting or allocate more memory. /// This initialization step is separated from the constructor /// precisely because we wanted to preallocate the memory and avoid /// hitting a secondary exception in the out-of-memory case. /// /// /// The exception that was raised while executing code via the /// dispatcher. /// /// /// Whether or not the exception should be caught and the /// exception handlers called. /// internal void Initialize(Exception exception, bool requestCatch) { Debug.Assert(exception != null); _exception = exception; _requestCatch = requestCatch; } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Exception _exception; private bool _requestCatch; } ////// Delegate for the events that convey the state of the UiConext /// in response to various actions that involve items. /// public delegate void DispatcherUnhandledExceptionFilterEventHandler(object sender, DispatcherUnhandledExceptionFilterEventArgs e); } // 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
- FontNamesConverter.cs
- SessionStateContainer.cs
- ExpressionVisitor.cs
- StatusBarAutomationPeer.cs
- XmlSchemaAnyAttribute.cs
- _AutoWebProxyScriptWrapper.cs
- TableItemPatternIdentifiers.cs
- DBDataPermissionAttribute.cs
- SoapSchemaExporter.cs
- CodeMemberMethod.cs
- DiscoveryRequestHandler.cs
- DefaultBinder.cs
- AliasGenerator.cs
- SourceElementsCollection.cs
- CacheChildrenQuery.cs
- NavigationWindow.cs
- AddInToken.cs
- WsiProfilesElement.cs
- DoubleLink.cs
- XmlSchemaDocumentation.cs
- ExclusiveTcpListener.cs
- TraceContext.cs
- HtmlAnchor.cs
- TextEffectResolver.cs
- NextPreviousPagerField.cs
- ControlPropertyNameConverter.cs
- HandleTable.cs
- HelloOperationAsyncResult.cs
- XmlReflectionImporter.cs
- Buffer.cs
- IsolatedStorageFilePermission.cs
- XmlDeclaration.cs
- Int32Animation.cs
- SectionRecord.cs
- ProviderIncompatibleException.cs
- HasRunnableWorkflowEvent.cs
- ManipulationLogic.cs
- SoapServerProtocol.cs
- SecurityTokenSpecification.cs
- HttpUnhandledOperationInvoker.cs
- ArcSegment.cs
- MenuScrollingVisibilityConverter.cs
- NativeActivityMetadata.cs
- NullRuntimeConfig.cs
- ServiceElementCollection.cs
- PngBitmapEncoder.cs
- BuildDependencySet.cs
- RestHandler.cs
- ClientScriptManagerWrapper.cs
- jithelpers.cs
- ResourcePermissionBase.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- TreeViewAutomationPeer.cs
- WizardForm.cs
- ToolStripGrip.cs
- DynamicDataManager.cs
- WebPartZoneCollection.cs
- ConstraintCollection.cs
- QilVisitor.cs
- ControlCachePolicy.cs
- SupportsEventValidationAttribute.cs
- _ServiceNameStore.cs
- ListenerElementsCollection.cs
- IQueryable.cs
- FrameworkTextComposition.cs
- ScriptModule.cs
- TableAutomationPeer.cs
- MsmqDecodeHelper.cs
- CompareValidator.cs
- LoadedOrUnloadedOperation.cs
- Module.cs
- CancelEventArgs.cs
- DbQueryCommandTree.cs
- WebPartCatalogCloseVerb.cs
- safesecurityhelperavalon.cs
- MemberInfoSerializationHolder.cs
- AudioFormatConverter.cs
- RequestCachePolicy.cs
- SizeAnimationBase.cs
- SafeMILHandle.cs
- CredentialCache.cs
- XmlNamespaceDeclarationsAttribute.cs
- TokenBasedSetEnumerator.cs
- GenericWebPart.cs
- ApplicationInfo.cs
- DbResourceAllocator.cs
- FixedLineResult.cs
- QuaternionKeyFrameCollection.cs
- BitmapMetadataBlob.cs
- StatusBar.cs
- Handle.cs
- XNodeValidator.cs
- ContentIterators.cs
- StreamInfo.cs
- LogStore.cs
- FactoryGenerator.cs
- PanelContainerDesigner.cs
- RTLAwareMessageBox.cs
- BindUriHelper.cs
- MemberPath.cs