Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InvariantComparer.cs
- BinaryWriter.cs
- QueryOutputWriterV1.cs
- DateTimeValueSerializerContext.cs
- CompilationUtil.cs
- PageHandlerFactory.cs
- DodSequenceMerge.cs
- SchemaContext.cs
- AutomationElementCollection.cs
- WebConfigurationFileMap.cs
- WebPartTransformerAttribute.cs
- FormsAuthenticationUser.cs
- SqlConnection.cs
- XPathDocument.cs
- SiteMapNodeItem.cs
- JsonServiceDocumentSerializer.cs
- VisualStyleRenderer.cs
- ScopelessEnumAttribute.cs
- FSWPathEditor.cs
- ColumnHeaderCollectionEditor.cs
- PropertyToken.cs
- AbandonedMutexException.cs
- ClientEventManager.cs
- AudioException.cs
- TemplateManager.cs
- DayRenderEvent.cs
- Keywords.cs
- XmlSchemaIdentityConstraint.cs
- EdmItemCollection.cs
- ComponentCodeDomSerializer.cs
- FrameworkObject.cs
- DataGrid.cs
- ArraySet.cs
- GeneratedCodeAttribute.cs
- Evidence.cs
- ComplexPropertyEntry.cs
- PointCollectionConverter.cs
- DataChangedEventManager.cs
- ConnectionPoolManager.cs
- TextEffect.cs
- RouteTable.cs
- SqlEnums.cs
- IdentitySection.cs
- SecurityTokenContainer.cs
- SqlMethodTransformer.cs
- SelectionEditor.cs
- SecUtil.cs
- BlockUIContainer.cs
- Compilation.cs
- WebPartDisplayModeCancelEventArgs.cs
- DrawingGroupDrawingContext.cs
- AttributeCollection.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- DCSafeHandle.cs
- ParserContext.cs
- IPAddress.cs
- ThicknessConverter.cs
- RoutedEventConverter.cs
- MsmqIntegrationChannelListener.cs
- CollectionBuilder.cs
- XPathParser.cs
- WebBrowserNavigatingEventHandler.cs
- BitmapEffectState.cs
- XPathNode.cs
- PreviewPrintController.cs
- ContextStaticAttribute.cs
- __Filters.cs
- ProtectedConfigurationProviderCollection.cs
- Stackframe.cs
- LineVisual.cs
- CatalogPart.cs
- FrameworkName.cs
- Base64Encoder.cs
- IPEndPointCollection.cs
- SqlEnums.cs
- XmlSchemaExternal.cs
- Expression.DebuggerProxy.cs
- ComponentCommands.cs
- DataSourceControl.cs
- LogLogRecordHeader.cs
- FontNamesConverter.cs
- DuplicateWaitObjectException.cs
- StrokeCollection2.cs
- ConstructorBuilder.cs
- BidOverLoads.cs
- IdentityNotMappedException.cs
- Compress.cs
- ChineseLunisolarCalendar.cs
- LinqDataSource.cs
- CompileXomlTask.cs
- HtmlInputPassword.cs
- TreeNodeBindingCollection.cs
- Matrix.cs
- FontDialog.cs
- IPCCacheManager.cs
- ValidationErrorEventArgs.cs
- Bind.cs
- ServicesUtilities.cs
- HttpApplicationFactory.cs
- WindowsEditBoxRange.cs