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
- VoiceSynthesis.cs
- ObjectItemConventionAssemblyLoader.cs
- Subtree.cs
- GraphicsState.cs
- Geometry.cs
- ConfigurationCollectionAttribute.cs
- SecureEnvironment.cs
- TextContainerHelper.cs
- DeriveBytes.cs
- ToolboxItemFilterAttribute.cs
- ObjectStateManagerMetadata.cs
- PreservationFileReader.cs
- ResourceLoader.cs
- KeyTime.cs
- WebPartDeleteVerb.cs
- LinkConverter.cs
- OpenTypeLayout.cs
- BitmapSourceSafeMILHandle.cs
- Keyboard.cs
- ConditionalAttribute.cs
- ControlAdapter.cs
- XmlSchemaRedefine.cs
- WebPartMovingEventArgs.cs
- SoapExtension.cs
- ClockGroup.cs
- xsdvalidator.cs
- InputLanguage.cs
- SectionRecord.cs
- OnOperation.cs
- AnyReturnReader.cs
- TypeUtil.cs
- XmlWhitespace.cs
- VectorAnimation.cs
- DataExpression.cs
- AccessKeyManager.cs
- safemediahandle.cs
- QilXmlWriter.cs
- QueryContinueDragEvent.cs
- StorageTypeMapping.cs
- ManagedFilter.cs
- RecordManager.cs
- TimeManager.cs
- NativeRecognizer.cs
- StateBag.cs
- DataGridViewCellMouseEventArgs.cs
- EdmComplexTypeAttribute.cs
- ColorDialog.cs
- SeverityFilter.cs
- WebZone.cs
- AmbientLight.cs
- ContentControl.cs
- TextRangeProviderWrapper.cs
- NaturalLanguageHyphenator.cs
- DesignerAutoFormat.cs
- MonitorWrapper.cs
- ListViewCommandEventArgs.cs
- AnimationTimeline.cs
- WebPartZoneCollection.cs
- UntrustedRecipientException.cs
- PathSegment.cs
- Set.cs
- RuleInfoComparer.cs
- SqlInternalConnectionSmi.cs
- CryptoStream.cs
- Wizard.cs
- DataSourceXmlSubItemAttribute.cs
- ArraySegment.cs
- PriorityRange.cs
- PaperSize.cs
- PageSettings.cs
- ModulesEntry.cs
- GroupBoxRenderer.cs
- DSACryptoServiceProvider.cs
- ToolStripItemRenderEventArgs.cs
- UIElement3D.cs
- SchemaAttDef.cs
- MetadataArtifactLoaderCompositeFile.cs
- XmlDeclaration.cs
- IdleTimeoutMonitor.cs
- DispatcherSynchronizationContext.cs
- SettingsProperty.cs
- XPathDocumentNavigator.cs
- DataListItemEventArgs.cs
- SerialStream.cs
- SafeSecurityHelper.cs
- MonthCalendarDesigner.cs
- UnknownBitmapEncoder.cs
- AssemblyAttributesGoHere.cs
- NamedElement.cs
- ConfigurationStrings.cs
- SqlTriggerContext.cs
- HttpHandlersSection.cs
- WindowsComboBox.cs
- AVElementHelper.cs
- MemberProjectedSlot.cs
- TemplateField.cs
- GPPOINTF.cs
- Select.cs
- LoginName.cs
- DatePickerDateValidationErrorEventArgs.cs