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
- WorkerRequest.cs
- Debugger.cs
- StoreAnnotationsMap.cs
- XPathNavigatorKeyComparer.cs
- CatalogZone.cs
- BitmapSource.cs
- SystemInfo.cs
- CollectionBase.cs
- DBParameter.cs
- ClientOptions.cs
- WebPartConnectionsCloseVerb.cs
- EventLevel.cs
- WindowsRegion.cs
- ISCIIEncoding.cs
- XmlKeywords.cs
- WindowsListViewGroup.cs
- TreeViewEvent.cs
- ToolstripProfessionalRenderer.cs
- ListViewDataItem.cs
- WinFormsSecurity.cs
- ToolStripSeparator.cs
- InstanceData.cs
- ComplexPropertyEntry.cs
- InvalidEnumArgumentException.cs
- CodeTypeReferenceExpression.cs
- CopyNamespacesAction.cs
- SchemaSetCompiler.cs
- MailWebEventProvider.cs
- LinearKeyFrames.cs
- ADConnectionHelper.cs
- GroupBoxRenderer.cs
- IPEndPoint.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- X509ScopedServiceCertificateElementCollection.cs
- Utils.cs
- XmlRootAttribute.cs
- MiniLockedBorderGlyph.cs
- TransformDescriptor.cs
- HostUtils.cs
- SystemNetHelpers.cs
- FacetEnabledSchemaElement.cs
- RichTextBoxContextMenu.cs
- SettingsProperty.cs
- CachedPathData.cs
- CallId.cs
- UnsafeNativeMethods.cs
- CaseInsensitiveOrdinalStringComparer.cs
- EndOfStreamException.cs
- SafeLibraryHandle.cs
- Delegate.cs
- WebPartEditorOkVerb.cs
- JoinTreeSlot.cs
- SqlInfoMessageEvent.cs
- ActivationServices.cs
- SymmetricKeyWrap.cs
- templategroup.cs
- ThreadAbortException.cs
- CompositeTypefaceMetrics.cs
- UpdateException.cs
- InvariantComparer.cs
- SelectionPattern.cs
- ColorConvertedBitmap.cs
- wgx_render.cs
- EncryptedData.cs
- IHttpResponseInternal.cs
- HttpModulesSection.cs
- InstanceKeyCollisionException.cs
- DataTableNewRowEvent.cs
- GB18030Encoding.cs
- XmlDocumentFragment.cs
- WCFBuildProvider.cs
- ListViewItem.cs
- unsafeIndexingFilterStream.cs
- DateTimeUtil.cs
- InstanceOwnerQueryResult.cs
- RealProxy.cs
- HtmlTableCell.cs
- IxmlLineInfo.cs
- SQLBinaryStorage.cs
- NamespaceCollection.cs
- CompilerErrorCollection.cs
- UrlUtility.cs
- WebMessageEncodingElement.cs
- DataGridItem.cs
- FixedPageStructure.cs
- ThreadInterruptedException.cs
- DataControlCommands.cs
- PlainXmlSerializer.cs
- RecommendedAsConfigurableAttribute.cs
- Set.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- ClientConfigPaths.cs
- SafeFileMappingHandle.cs
- Visitors.cs
- ScrollChangedEventArgs.cs
- HttpResponseHeader.cs
- sqlser.cs
- WeakEventManager.cs
- Profiler.cs
- HtmlWindow.cs