Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SiteMapHierarchicalDataSourceView.cs
- DoubleCollectionValueSerializer.cs
- DesignerVerbCollection.cs
- BrowserTree.cs
- CollectionViewGroupInternal.cs
- XmlElementAttributes.cs
- WebBaseEventKeyComparer.cs
- CertificateManager.cs
- SchemaCollectionCompiler.cs
- OdbcStatementHandle.cs
- DBAsyncResult.cs
- ProfileSettings.cs
- IdentityHolder.cs
- SignatureGenerator.cs
- MDIWindowDialog.cs
- InkPresenterAutomationPeer.cs
- HtmlEncodedRawTextWriter.cs
- MultiBinding.cs
- AbstractExpressions.cs
- StreamInfo.cs
- WebBrowsableAttribute.cs
- TreeNodeBindingCollection.cs
- WebEvents.cs
- DES.cs
- ComplexTypeEmitter.cs
- Random.cs
- Util.cs
- SqlDataSourceTableQuery.cs
- ToolStripCollectionEditor.cs
- shaper.cs
- safex509handles.cs
- GifBitmapEncoder.cs
- HebrewNumber.cs
- DataGridViewBindingCompleteEventArgs.cs
- ImplicitInputBrush.cs
- TextEffectResolver.cs
- PackWebRequestFactory.cs
- XmlSecureResolver.cs
- ValueCollectionParameterReader.cs
- RangeValuePattern.cs
- HtmlInputButton.cs
- _HeaderInfo.cs
- XmlComment.cs
- XmlMapping.cs
- MatrixValueSerializer.cs
- CharacterBufferReference.cs
- RegistryPermission.cs
- ImportContext.cs
- SqlReorderer.cs
- XmlSchemaSet.cs
- HandlerBase.cs
- XmlSchemaAll.cs
- PriorityBinding.cs
- ReferenceEqualityComparer.cs
- WsdlImporter.cs
- StyleBamlTreeBuilder.cs
- Vector3dCollection.cs
- Exceptions.cs
- ActivityDesignerResources.cs
- ColumnPropertiesGroup.cs
- ScrollBar.cs
- UIElement3D.cs
- SwitchLevelAttribute.cs
- DrawingVisualDrawingContext.cs
- SystemPens.cs
- PrtTicket_Editor.cs
- ObsoleteAttribute.cs
- OneOfTypeConst.cs
- TypeListConverter.cs
- ReturnType.cs
- HttpDigestClientElement.cs
- ReadOnlyDataSource.cs
- ComponentCollection.cs
- PointF.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- OrderByQueryOptionExpression.cs
- SignatureToken.cs
- arc.cs
- Codec.cs
- HtmlInputText.cs
- ProfilePropertyNameValidator.cs
- MetadataSerializer.cs
- HwndSubclass.cs
- Int32Collection.cs
- ColumnResizeUndoUnit.cs
- DesignerVerb.cs
- TextSimpleMarkerProperties.cs
- ToolStripContentPanel.cs
- CodeNamespaceImportCollection.cs
- InvalidPipelineStoreException.cs
- XmlQualifiedNameTest.cs
- EntityDataSourceChangingEventArgs.cs
- SuppressMessageAttribute.cs
- FormsAuthentication.cs
- DefaultHttpHandler.cs
- Selection.cs
- CompoundFileStorageReference.cs
- Validator.cs
- SiteMapNode.cs
- BufferedGraphicsContext.cs