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
- ListViewInsertionMark.cs
- CodeAttributeArgument.cs
- HttpCookie.cs
- TileModeValidation.cs
- Tuple.cs
- XmlTextReaderImpl.cs
- FixedSOMPageElement.cs
- FlowLayoutPanelDesigner.cs
- InvalidOleVariantTypeException.cs
- SchemaElementDecl.cs
- KeysConverter.cs
- AppDomainGrammarProxy.cs
- XmlWriter.cs
- BaseDataListActionList.cs
- DocComment.cs
- XmlSchemaSimpleContentExtension.cs
- WindowsTooltip.cs
- EnumerableValidator.cs
- Selector.cs
- Visual3D.cs
- PersonalizationProviderHelper.cs
- CounterSampleCalculator.cs
- ContainerFilterService.cs
- ArrayWithOffset.cs
- Guid.cs
- PageCatalogPart.cs
- PlacementWorkspace.cs
- LogStream.cs
- CacheMemory.cs
- SvcMapFileLoader.cs
- ResizeGrip.cs
- ReflectionUtil.cs
- Encoder.cs
- CheckedListBox.cs
- TextControlDesigner.cs
- CompareInfo.cs
- ThreadAbortException.cs
- FormCollection.cs
- StringAnimationBase.cs
- RepeatBehaviorConverter.cs
- EncodingTable.cs
- TraceContext.cs
- TransformerTypeCollection.cs
- ChangeProcessor.cs
- SqlProviderManifest.cs
- GeometryHitTestParameters.cs
- SplayTreeNode.cs
- Matrix3DStack.cs
- CodeSubDirectory.cs
- CodeSubDirectoriesCollection.cs
- VirtualizedItemPattern.cs
- WindowsRebar.cs
- EntityViewGenerationAttribute.cs
- WindowsComboBox.cs
- AuthorizationRuleCollection.cs
- NamespaceList.cs
- FlowPosition.cs
- TextBox.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TextSpanModifier.cs
- GenericQueueSurrogate.cs
- SystemIPInterfaceStatistics.cs
- WebBrowserPermission.cs
- ISessionStateStore.cs
- ContravarianceAdapter.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- PenLineCapValidation.cs
- XPathDocument.cs
- WebBodyFormatMessageProperty.cs
- ControlLocalizer.cs
- LinkTarget.cs
- AppDomainCompilerProxy.cs
- RowVisual.cs
- ScriptMethodAttribute.cs
- ProcessingInstructionAction.cs
- ObjectListCommandsPage.cs
- ArgIterator.cs
- NotFiniteNumberException.cs
- ScriptManagerProxy.cs
- RelAssertionDirectKeyIdentifierClause.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- x509store.cs
- Vars.cs
- CompiledELinqQueryState.cs
- DtcInterfaces.cs
- Preprocessor.cs
- CustomTypeDescriptor.cs
- controlskin.cs
- ToolStripSettings.cs
- Utils.cs
- ReaderContextStackData.cs
- RowToParametersTransformer.cs
- LoginUtil.cs
- ControlDesigner.cs
- Soap11ServerProtocol.cs
- ExecutionContext.cs
- View.cs
- XmlSerializationGeneratedCode.cs
- QueryOperationResponseOfT.cs
- Pen.cs