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
- TimeSpanFormat.cs
- DispatcherHookEventArgs.cs
- PrivilegedConfigurationManager.cs
- MetabaseServerConfig.cs
- fixedPageContentExtractor.cs
- CommandManager.cs
- RefExpr.cs
- ProxyGenerationError.cs
- BitmapMetadataEnumerator.cs
- ActivityExecutorDelegateInfo.cs
- DateTimeFormatInfo.cs
- ToolStripTextBox.cs
- UserNamePasswordValidator.cs
- XPathNodeIterator.cs
- ResourcePool.cs
- HighContrastHelper.cs
- SmiEventStream.cs
- SrgsNameValueTag.cs
- CallContext.cs
- ItemCheckEvent.cs
- WebPartVerb.cs
- CodeCommentStatementCollection.cs
- SqlRewriteScalarSubqueries.cs
- RepeaterItemEventArgs.cs
- InternalException.cs
- StateRuntime.cs
- SystemWebSectionGroup.cs
- EntityDataSourceChangedEventArgs.cs
- SerialErrors.cs
- TransactionBridgeSection.cs
- UserControlCodeDomTreeGenerator.cs
- Policy.cs
- TypeForwardedToAttribute.cs
- WinEventWrap.cs
- Span.cs
- OutputCacheEntry.cs
- PrePrepareMethodAttribute.cs
- COMException.cs
- BlobPersonalizationState.cs
- ObfuscationAttribute.cs
- ListControlDesigner.cs
- PeerNameRecord.cs
- DocumentPageTextView.cs
- DataView.cs
- GridViewAutoFormat.cs
- WindowsFormsSynchronizationContext.cs
- PointLight.cs
- ControlLocalizer.cs
- TrailingSpaceComparer.cs
- StyleReferenceConverter.cs
- SystemException.cs
- ShellProvider.cs
- Message.cs
- AutoGeneratedFieldProperties.cs
- ResolveInfo.cs
- ListCommandEventArgs.cs
- MonitorWrapper.cs
- _ShellExpression.cs
- ActivityContext.cs
- Messages.cs
- HelpEvent.cs
- AppLevelCompilationSectionCache.cs
- Timer.cs
- FileResponseElement.cs
- MatrixAnimationBase.cs
- OdbcTransaction.cs
- DependencyObjectType.cs
- LayoutTable.cs
- SelectingProviderEventArgs.cs
- UseManagedPresentationBindingElement.cs
- XmlImplementation.cs
- GrowingArray.cs
- ValidationHelpers.cs
- AxisAngleRotation3D.cs
- ProfessionalColors.cs
- DisableDpiAwarenessAttribute.cs
- InfoCardServiceInstallComponent.cs
- ProcessHost.cs
- WorkflowService.cs
- Expression.cs
- DocumentsTrace.cs
- SessionState.cs
- WindowShowOrOpenTracker.cs
- IntSecurity.cs
- ObjectDataSourceEventArgs.cs
- TypedDataSourceCodeGenerator.cs
- ToolBarTray.cs
- XmlIgnoreAttribute.cs
- EventProxy.cs
- PropVariant.cs
- DataDesignUtil.cs
- FontFamilyIdentifier.cs
- TraceLog.cs
- WindowsSolidBrush.cs
- FunctionCommandText.cs
- SharingService.cs
- VectorAnimationUsingKeyFrames.cs
- MimeWriter.cs
- DeclarativeCatalogPart.cs
- assertwrapper.cs