Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / Threading / DispatcherExceptionFilterEventArgs.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InvariantComparer.cs
- CodeCommentStatementCollection.cs
- TextParagraphCache.cs
- WebBrowserNavigatingEventHandler.cs
- AnimationException.cs
- AudioBase.cs
- FormatConvertedBitmap.cs
- XmlAttributeAttribute.cs
- UITypeEditors.cs
- StateRuntime.cs
- ProxyWebPartConnectionCollection.cs
- PnrpPermission.cs
- EntityConnection.cs
- VisualStyleTypesAndProperties.cs
- QueryStringConverter.cs
- EmptyEnumerable.cs
- QuotaExceededException.cs
- FileReservationCollection.cs
- OleDbSchemaGuid.cs
- WorkflowMarkupSerializer.cs
- Char.cs
- TextElementAutomationPeer.cs
- DragDeltaEventArgs.cs
- Helper.cs
- BitmapEditor.cs
- DropDownButton.cs
- BindingCompleteEventArgs.cs
- DecimalKeyFrameCollection.cs
- AuthenticationService.cs
- CloudCollection.cs
- AuthenticationModulesSection.cs
- DataGridViewRow.cs
- XmlLanguage.cs
- WeakEventTable.cs
- ExecutionEngineException.cs
- WorkflowDesignerMessageFilter.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- HwndMouseInputProvider.cs
- SmiContextFactory.cs
- DataServiceResponse.cs
- MaterialGroup.cs
- DebugView.cs
- XsdBuilder.cs
- ObjectDataSourceEventArgs.cs
- CodeMemberEvent.cs
- NotifyParentPropertyAttribute.cs
- WindowsListViewSubItem.cs
- SqlUtil.cs
- XmlNamespaceMappingCollection.cs
- MsmqPoisonMessageException.cs
- querybuilder.cs
- EndOfStreamException.cs
- UIElementIsland.cs
- LayoutTable.cs
- ConfigXmlWhitespace.cs
- MergePropertyDescriptor.cs
- Perspective.cs
- StylusLogic.cs
- CanExecuteRoutedEventArgs.cs
- PngBitmapDecoder.cs
- FamilyMapCollection.cs
- GenericEnumerator.cs
- processwaithandle.cs
- MultiAsyncResult.cs
- ContentPlaceHolder.cs
- DataGridColumnHeaderCollection.cs
- LocalizationParserHooks.cs
- ResourceDictionary.cs
- CompatibleIComparer.cs
- HtmlWindow.cs
- BackStopAuthenticationModule.cs
- DataGridViewEditingControlShowingEventArgs.cs
- SqlUtil.cs
- AvTrace.cs
- ContractMapping.cs
- KeysConverter.cs
- SignedPkcs7.cs
- GridViewCellAutomationPeer.cs
- ParenthesizePropertyNameAttribute.cs
- ByteRangeDownloader.cs
- CardSpacePolicyElement.cs
- CalendarButton.cs
- AttributeQuery.cs
- BoundPropertyEntry.cs
- WinInet.cs
- HttpException.cs
- OleTxTransaction.cs
- BitmapSourceSafeMILHandle.cs
- BevelBitmapEffect.cs
- ColumnTypeConverter.cs
- ManipulationDeltaEventArgs.cs
- ControlCollection.cs
- ParserHooks.cs
- DbBuffer.cs
- StringHandle.cs
- BitmapEffectState.cs
- SerialPinChanges.cs
- SqlHelper.cs
- Label.cs
- ListViewDeleteEventArgs.cs