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
- DbDataSourceEnumerator.cs
- ImageSource.cs
- EventLogInformation.cs
- Propagator.Evaluator.cs
- ValueTypeFixupInfo.cs
- ProtocolsSection.cs
- PasswordRecovery.cs
- HtmlInputText.cs
- ReadOnlyDictionary.cs
- XmlToDatasetMap.cs
- TickBar.cs
- SecureEnvironment.cs
- ChangePassword.cs
- XmlSerializerFaultFormatter.cs
- _emptywebproxy.cs
- HttpRequest.cs
- SmtpMail.cs
- CounterSetInstanceCounterDataSet.cs
- SelectedDatesCollection.cs
- CreateParams.cs
- AutomationPatternInfo.cs
- HttpListener.cs
- SqlDataSourceSelectingEventArgs.cs
- ConnectionOrientedTransportChannelFactory.cs
- Command.cs
- DataGridPagerStyle.cs
- RelatedPropertyManager.cs
- VectorCollectionConverter.cs
- BitStream.cs
- ZoneMembershipCondition.cs
- SafeHandles.cs
- NewArrayExpression.cs
- messageonlyhwndwrapper.cs
- NameTable.cs
- CatalogPart.cs
- BitmapEffectInput.cs
- PagesSection.cs
- ScrollBar.cs
- SafeWaitHandle.cs
- ViewManagerAttribute.cs
- ScrollItemPattern.cs
- BinaryUtilClasses.cs
- CodeCommentStatementCollection.cs
- RijndaelManagedTransform.cs
- StylusDownEventArgs.cs
- SystemDropShadowChrome.cs
- XsltArgumentList.cs
- _DisconnectOverlappedAsyncResult.cs
- TextRange.cs
- HwndAppCommandInputProvider.cs
- Transform3DGroup.cs
- DataPagerField.cs
- PeerTransportListenAddressValidatorAttribute.cs
- ConfigurationFileMap.cs
- AttributedMetaModel.cs
- FigureParaClient.cs
- SpotLight.cs
- AddInControllerImpl.cs
- BamlRecordReader.cs
- Filter.cs
- DataGridViewIntLinkedList.cs
- CacheAxisQuery.cs
- WebServicesDescriptionAttribute.cs
- ArrangedElementCollection.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- Geometry.cs
- DataSourceComponent.cs
- AxisAngleRotation3D.cs
- CodeTypeDeclaration.cs
- ObfuscateAssemblyAttribute.cs
- ToolStripControlHost.cs
- EncoderReplacementFallback.cs
- HttpSessionStateWrapper.cs
- DesignBindingPropertyDescriptor.cs
- RuleSetDialog.cs
- ReflectEventDescriptor.cs
- SubqueryRules.cs
- RepeatBehaviorConverter.cs
- ServicePointManagerElement.cs
- MailMessage.cs
- CacheAxisQuery.cs
- PeerService.cs
- TreeViewItem.cs
- DatagridviewDisplayedBandsData.cs
- StackBuilderSink.cs
- ApplicationProxyInternal.cs
- ComEventsSink.cs
- _ListenerRequestStream.cs
- DataGridParentRows.cs
- DPAPIProtectedConfigurationProvider.cs
- GridViewDeleteEventArgs.cs
- TabItemWrapperAutomationPeer.cs
- TrackBarDesigner.cs
- SByteStorage.cs
- xdrvalidator.cs
- DictionaryManager.cs
- ClientFormsIdentity.cs
- EntityDataSourceChangingEventArgs.cs
- DiscoveryReference.cs
- CrossContextChannel.cs