Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- WebPartTransformerCollection.cs
- SoapElementAttribute.cs
- InstanceOwnerQueryResult.cs
- MasterPage.cs
- WebBrowserContainer.cs
- BitmapSource.cs
- SchemaNames.cs
- PaperSource.cs
- SyndicationContent.cs
- PtsHelper.cs
- CodeMemberProperty.cs
- _FixedSizeReader.cs
- TimersDescriptionAttribute.cs
- BooleanStorage.cs
- Helpers.cs
- LayoutEngine.cs
- OpenFileDialog.cs
- ChannelServices.cs
- ErrorEventArgs.cs
- XslAstAnalyzer.cs
- DbExpressionRules.cs
- Collection.cs
- MSAAWinEventWrap.cs
- ReflectionPermission.cs
- AccessedThroughPropertyAttribute.cs
- EntityType.cs
- SHA384.cs
- SqlMetaData.cs
- DataGridViewCellStyle.cs
- WebDescriptionAttribute.cs
- DesignerAttributeInfo.cs
- ISSmlParser.cs
- JsonClassDataContract.cs
- log.cs
- Funcletizer.cs
- AutoResizedEvent.cs
- DateTimeConstantAttribute.cs
- ServiceHttpModule.cs
- ErrorRuntimeConfig.cs
- MatrixKeyFrameCollection.cs
- OdbcConnectionStringbuilder.cs
- FlowchartSizeFeature.cs
- EnumValAlphaComparer.cs
- ProcessThreadCollection.cs
- FontFamilyValueSerializer.cs
- AssemblyAssociatedContentFileAttribute.cs
- GridViewUpdatedEventArgs.cs
- PropertyChangedEventArgs.cs
- RootDesignerSerializerAttribute.cs
- ViewCellRelation.cs
- BasicExpressionVisitor.cs
- CodeTypeReferenceExpression.cs
- MiniAssembly.cs
- SerialReceived.cs
- ChildrenQuery.cs
- XmlLinkedNode.cs
- CornerRadiusConverter.cs
- RelationshipEntry.cs
- SystemResourceHost.cs
- Screen.cs
- ForeignConstraint.cs
- ScriptingSectionGroup.cs
- EdmType.cs
- ScrollViewerAutomationPeer.cs
- DataKey.cs
- FontStyle.cs
- ClientEventManager.cs
- ArrayTypeMismatchException.cs
- TextEditorContextMenu.cs
- RelationshipManager.cs
- FormatException.cs
- QilInvoke.cs
- XmlAttributeProperties.cs
- StringToken.cs
- CommonDialog.cs
- ReadWriteSpinLock.cs
- Label.cs
- BamlBinaryWriter.cs
- ViewService.cs
- EventArgs.cs
- RootBrowserWindowAutomationPeer.cs
- Matrix.cs
- InvokeGenerator.cs
- _TLSstream.cs
- ProviderBase.cs
- EntityRecordInfo.cs
- CodeAttachEventStatement.cs
- ErrorFormatterPage.cs
- HostingEnvironmentSection.cs
- _TimerThread.cs
- DataTemplate.cs
- SqlExpander.cs
- ParagraphResult.cs
- SqlCrossApplyToCrossJoin.cs
- TryExpression.cs
- FacetChecker.cs
- DistributedTransactionPermission.cs
- RequestCachePolicyConverter.cs
- CodeObject.cs
- InvalidCardException.cs