Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- CryptoHelper.cs
- QueryStringParameter.cs
- CursorInteropHelper.cs
- ValidationError.cs
- StylusOverProperty.cs
- ToolStripItemTextRenderEventArgs.cs
- AutomationEventArgs.cs
- TextViewBase.cs
- DataBoundControlAdapter.cs
- HandledEventArgs.cs
- SafeLibraryHandle.cs
- Geometry.cs
- StorageComplexPropertyMapping.cs
- xml.cs
- UniformGrid.cs
- VerificationAttribute.cs
- ResponseStream.cs
- SessionKeyExpiredException.cs
- TextProperties.cs
- RawKeyboardInputReport.cs
- HandoffBehavior.cs
- AppDomainUnloadedException.cs
- XmlCharCheckingWriter.cs
- Parser.cs
- BamlTreeMap.cs
- CultureMapper.cs
- NameScopePropertyAttribute.cs
- SqlCaseSimplifier.cs
- CredentialCache.cs
- PropertyChangedEventArgs.cs
- filewebresponse.cs
- DispatcherHookEventArgs.cs
- TextElementEnumerator.cs
- DiagnosticSection.cs
- ListCollectionView.cs
- XmlQueryCardinality.cs
- OleDbMetaDataFactory.cs
- MdiWindowListItemConverter.cs
- StorageMappingItemLoader.cs
- InputMethod.cs
- ToolStripDropDownClosedEventArgs.cs
- EntityType.cs
- InstanceOwnerQueryResult.cs
- Activator.cs
- AppDomainResourcePerfCounters.cs
- MSAANativeProvider.cs
- CompilerError.cs
- SoapCodeExporter.cs
- MdiWindowListItemConverter.cs
- XmlTextEncoder.cs
- AdCreatedEventArgs.cs
- UInt16Converter.cs
- MediaContext.cs
- ParameterRefs.cs
- PartialCachingAttribute.cs
- WmlMobileTextWriter.cs
- InProcStateClientManager.cs
- Cursor.cs
- AssociationType.cs
- CheckBoxField.cs
- TypedTableBaseExtensions.cs
- UrlPath.cs
- BinaryFormatterWriter.cs
- ParameterElementCollection.cs
- Matrix3DStack.cs
- TypeUsageBuilder.cs
- DataGridAutoFormat.cs
- DBParameter.cs
- ResourcePermissionBaseEntry.cs
- FormsAuthenticationCredentials.cs
- XXXInfos.cs
- TypePresenter.xaml.cs
- Decimal.cs
- DataRelation.cs
- Window.cs
- QueryTreeBuilder.cs
- ZipPackagePart.cs
- Pkcs7Recipient.cs
- Compiler.cs
- GenericWebPart.cs
- ExtendedPropertyCollection.cs
- MemoryStream.cs
- DriveNotFoundException.cs
- AssemblyCollection.cs
- MembershipPasswordException.cs
- _DisconnectOverlappedAsyncResult.cs
- GlobalEventManager.cs
- GridViewRowCollection.cs
- EmptyQuery.cs
- safex509handles.cs
- AccessText.cs
- Pkcs7Recipient.cs
- RemoteHelper.cs
- TextShapeableCharacters.cs
- DetailsViewUpdateEventArgs.cs
- QueryOutputWriterV1.cs
- PermissionRequestEvidence.cs
- PanelStyle.cs
- DeploymentSectionCache.cs
- ImageMap.cs