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
- UserControlAutomationPeer.cs
- DynamicDataExtensions.cs
- BoundColumn.cs
- ToolStripRendererSwitcher.cs
- ReflectTypeDescriptionProvider.cs
- EntityDataSourceSelectedEventArgs.cs
- PropertyIDSet.cs
- NotCondition.cs
- SimpleMailWebEventProvider.cs
- TransformationRules.cs
- PixelFormats.cs
- XmlJsonWriter.cs
- StateMachine.cs
- AccessDataSourceWizardForm.cs
- tibetanshape.cs
- DataGridViewRowPostPaintEventArgs.cs
- OpenFileDialog.cs
- BufferedGraphicsManager.cs
- SqlDataAdapter.cs
- XmlDataSourceNodeDescriptor.cs
- TemplateField.cs
- OutputCacheSettings.cs
- DataGridViewCellValidatingEventArgs.cs
- ListSortDescription.cs
- XmlMemberMapping.cs
- TreeViewAutomationPeer.cs
- ServerProtocol.cs
- NetMsmqSecurityElement.cs
- DbTypeMap.cs
- CardSpacePolicyElement.cs
- RightsManagementEncryptionTransform.cs
- SecurityKeyUsage.cs
- PipelineDeploymentState.cs
- DbgUtil.cs
- MessageQueueKey.cs
- ReplacementText.cs
- XmlAnyElementAttribute.cs
- MethodCallConverter.cs
- TraceContext.cs
- TransactionManager.cs
- NamedPipeProcessProtocolHandler.cs
- ProviderConnectionPointCollection.cs
- DetailsViewDeletedEventArgs.cs
- OleStrCAMarshaler.cs
- HtmlForm.cs
- AttachmentCollection.cs
- ObjectQueryExecutionPlan.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- AssemblyGen.cs
- StateItem.cs
- EventTask.cs
- Executor.cs
- BindValidator.cs
- SystemResourceHost.cs
- NativeMethods.cs
- ModelToObjectValueConverter.cs
- ShutDownListener.cs
- PerformanceCounterCategory.cs
- loginstatus.cs
- OleDbFactory.cs
- OracleColumn.cs
- ContractComponent.cs
- FtpWebRequest.cs
- NameValuePermission.cs
- DataFormats.cs
- WindowsFormsHostAutomationPeer.cs
- WebBrowserUriTypeConverter.cs
- OdbcConnectionHandle.cs
- wgx_commands.cs
- MessageSecurityOverHttp.cs
- EventData.cs
- BitStream.cs
- WebEventTraceProvider.cs
- ContextStaticAttribute.cs
- SelectionPattern.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- PersonalizationStateInfo.cs
- DataGrid.cs
- TdsParser.cs
- ListViewDeleteEventArgs.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- LineSegment.cs
- RC2.cs
- Currency.cs
- StatementContext.cs
- DiscoveryClientChannelFactory.cs
- HtmlInputPassword.cs
- listitem.cs
- CollectionView.cs
- TableRowGroupCollection.cs
- XmlNullResolver.cs
- ChannelPoolSettingsElement.cs
- LiteralLink.cs
- MarginsConverter.cs
- IIS7UserPrincipal.cs
- counter.cs
- FormatterServices.cs
- MenuTracker.cs
- SingleStorage.cs
- C14NUtil.cs