Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / Threading / DispatcherExceptionFilterEventArgs.cs / 1305600 / 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
- NodeLabelEditEvent.cs
- Roles.cs
- SignatureResourcePool.cs
- DecimalConverter.cs
- RowBinding.cs
- PropertyDescriptorCollection.cs
- XsdBuildProvider.cs
- CollectionViewGroupInternal.cs
- ConstructorBuilder.cs
- ButtonPopupAdapter.cs
- SRGSCompiler.cs
- CompiledQuery.cs
- ProcessInfo.cs
- FocusChangedEventArgs.cs
- InvalidEnumArgumentException.cs
- DirectoryGroupQuery.cs
- TypedAsyncResult.cs
- NamedElement.cs
- Converter.cs
- StringFreezingAttribute.cs
- MediaPlayerState.cs
- ClassDataContract.cs
- WmlMobileTextWriter.cs
- Hyperlink.cs
- Bidi.cs
- SoapCommonClasses.cs
- DecimalAnimation.cs
- DBAsyncResult.cs
- wpf-etw.cs
- EnlistmentState.cs
- PeerInputChannel.cs
- DescendantOverDescendantQuery.cs
- VisualStyleInformation.cs
- ArraySegment.cs
- TrustManagerMoreInformation.cs
- KeyToListMap.cs
- ISCIIEncoding.cs
- XmlQualifiedNameTest.cs
- VirtualizingPanel.cs
- PolygonHotSpot.cs
- TextDecorationCollectionConverter.cs
- TypeDependencyAttribute.cs
- ProcessInputEventArgs.cs
- OneWayChannelListener.cs
- RSAProtectedConfigurationProvider.cs
- DataGridViewCellValueEventArgs.cs
- CharacterString.cs
- Normalization.cs
- SByte.cs
- RSAOAEPKeyExchangeFormatter.cs
- Figure.cs
- TransformProviderWrapper.cs
- WSDualHttpSecurityElement.cs
- WebEvents.cs
- FlagsAttribute.cs
- WorkflowApplicationCompletedEventArgs.cs
- ProtocolsConfiguration.cs
- ServiceDescriptionReflector.cs
- GlyphCollection.cs
- ListViewDeleteEventArgs.cs
- ImageList.cs
- RelationshipWrapper.cs
- SqlNamer.cs
- SqlTypesSchemaImporter.cs
- TimeSpanMinutesConverter.cs
- ProtocolsConfiguration.cs
- SqlDataSourceCustomCommandPanel.cs
- LinearGradientBrush.cs
- SafeCryptHandles.cs
- StaticResourceExtension.cs
- DrawingServices.cs
- DirectoryNotFoundException.cs
- DataContractJsonSerializerOperationFormatter.cs
- VectorCollection.cs
- TcpClientCredentialType.cs
- SoapClientMessage.cs
- GenericPrincipal.cs
- UpdateExpressionVisitor.cs
- EventToken.cs
- StrokeCollectionDefaultValueFactory.cs
- ExtentKey.cs
- SqlReferenceCollection.cs
- CalendarKeyboardHelper.cs
- GlobalizationAssembly.cs
- SrgsElementFactoryCompiler.cs
- IndexedEnumerable.cs
- SQLInt16.cs
- SpotLight.cs
- CodeAttributeArgumentCollection.cs
- ItemContainerGenerator.cs
- TextChange.cs
- BaseConfigurationRecord.cs
- TemplateXamlParser.cs
- EntityDataSourceChangingEventArgs.cs
- XsdDateTime.cs
- RefType.cs
- StrongTypingException.cs
- ObjectManager.cs
- OpenFileDialog.cs
- WinEventQueueItem.cs