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
- RestHandler.cs
- diagnosticsswitches.cs
- SHA256.cs
- NavigatingCancelEventArgs.cs
- ToolboxDataAttribute.cs
- KeyToListMap.cs
- CellIdBoolean.cs
- SQLInt16.cs
- BitmapEffect.cs
- XPathDocumentBuilder.cs
- NativeMethods.cs
- XmlBindingWorker.cs
- UrlUtility.cs
- safemediahandle.cs
- ObjectFullSpanRewriter.cs
- DataViewListener.cs
- DataSet.cs
- RuntimeArgumentHandle.cs
- EntryPointNotFoundException.cs
- BitmapEncoder.cs
- SelectedGridItemChangedEvent.cs
- NextPreviousPagerField.cs
- PathFigureCollection.cs
- PreviewPageInfo.cs
- UpdateRecord.cs
- WebPartsPersonalization.cs
- RequestTimeoutManager.cs
- HtmlUtf8RawTextWriter.cs
- HMACSHA384.cs
- CurrencyManager.cs
- dsa.cs
- MailHeaderInfo.cs
- Size3DConverter.cs
- SafeArchiveContext.cs
- XmlSchemaComplexContentRestriction.cs
- ImageMapEventArgs.cs
- DrawingAttributesDefaultValueFactory.cs
- SocketConnection.cs
- DynamicILGenerator.cs
- TablePattern.cs
- ProtectedConfigurationProviderCollection.cs
- Run.cs
- EditorZone.cs
- Fonts.cs
- ADMembershipProvider.cs
- PasswordRecoveryAutoFormat.cs
- COM2ICategorizePropertiesHandler.cs
- UnsafeNativeMethods.cs
- initElementDictionary.cs
- ThemeDictionaryExtension.cs
- HostedImpersonationContext.cs
- EditorZone.cs
- InputMethodStateChangeEventArgs.cs
- StatusBarAutomationPeer.cs
- HtmlButton.cs
- Subset.cs
- DataList.cs
- ColorInterpolationModeValidation.cs
- WindowsButton.cs
- AppliesToBehaviorDecisionTable.cs
- PrincipalPermission.cs
- HostedElements.cs
- OdbcConnectionHandle.cs
- FormViewUpdateEventArgs.cs
- CurrentChangedEventManager.cs
- SurrogateDataContract.cs
- IndexedString.cs
- TextBox.cs
- Normalizer.cs
- StrongNamePublicKeyBlob.cs
- SHA256CryptoServiceProvider.cs
- RC2CryptoServiceProvider.cs
- SspiWrapper.cs
- SystemInfo.cs
- EdmFunctionAttribute.cs
- PerformanceCounterCategory.cs
- CqlParser.cs
- Rule.cs
- VisualBasicImportReference.cs
- XXXOnTypeBuilderInstantiation.cs
- FilterableAttribute.cs
- AuthenticateEventArgs.cs
- RootBrowserWindow.cs
- SessionEndingCancelEventArgs.cs
- SqlClientFactory.cs
- CryptoStream.cs
- MaskPropertyEditor.cs
- DataControlImageButton.cs
- ChildrenQuery.cs
- EnterpriseServicesHelper.cs
- BitmapSource.cs
- Registry.cs
- ScalarConstant.cs
- WindowsHyperlink.cs
- IMembershipProvider.cs
- IssuanceLicense.cs
- webproxy.cs
- DataMemberListEditor.cs
- CompositeDuplexBindingElementImporter.cs
- XPathNodeList.cs