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
- PageSettings.cs
- XmlSchema.cs
- ObjectStateEntryDbDataRecord.cs
- ConnectionPoolManager.cs
- MethodRental.cs
- WindowsListViewSubItem.cs
- ReadOnlyDataSourceView.cs
- StaticSiteMapProvider.cs
- ChineseLunisolarCalendar.cs
- BinaryParser.cs
- LogLogRecordHeader.cs
- StickyNoteHelper.cs
- SchemaMerger.cs
- ProcessProtocolHandler.cs
- SystemMulticastIPAddressInformation.cs
- Rules.cs
- GridSplitterAutomationPeer.cs
- BinaryConverter.cs
- WebControl.cs
- XmlWrappingWriter.cs
- EdmProperty.cs
- DrawingAttributesDefaultValueFactory.cs
- XPathAncestorQuery.cs
- MsmqProcessProtocolHandler.cs
- RegexStringValidator.cs
- TrustLevel.cs
- BamlStream.cs
- Sequence.cs
- DataControlFieldCell.cs
- DesignerDataConnection.cs
- IntSecurity.cs
- OwnerDrawPropertyBag.cs
- DynamicMethod.cs
- CustomMenuItemCollection.cs
- DivideByZeroException.cs
- DataGridViewControlCollection.cs
- TextEvent.cs
- WebPartConnectionsCloseVerb.cs
- OracleRowUpdatingEventArgs.cs
- SponsorHelper.cs
- ValidatingReaderNodeData.cs
- StylusPlugin.cs
- SapiInterop.cs
- XmlUnspecifiedAttribute.cs
- WebPartEditorCancelVerb.cs
- MimeTypeMapper.cs
- ToolTipAutomationPeer.cs
- ObjectSet.cs
- XamlWriter.cs
- PenThread.cs
- EntityViewGenerator.cs
- ActivityTypeCodeDomSerializer.cs
- TextUtf8RawTextWriter.cs
- ToolStripRenderEventArgs.cs
- DataGridViewButtonColumn.cs
- DictionaryTraceRecord.cs
- ColumnHeader.cs
- SafeHandle.cs
- ByteAnimation.cs
- Container.cs
- TypeDelegator.cs
- CodePrimitiveExpression.cs
- StylusDevice.cs
- GridViewSelectEventArgs.cs
- MachineKeySection.cs
- Add.cs
- TraceRecord.cs
- OrderingInfo.cs
- X509Utils.cs
- Crc32Helper.cs
- BulletedList.cs
- InteropAutomationProvider.cs
- SqlMethodCallConverter.cs
- Rotation3DAnimationUsingKeyFrames.cs
- RightsManagementEncryptionTransform.cs
- OleDbCommandBuilder.cs
- Utilities.cs
- SecurityKeyType.cs
- PartManifestEntry.cs
- DXD.cs
- BoundField.cs
- EraserBehavior.cs
- KeyFrames.cs
- MatchingStyle.cs
- TargetControlTypeCache.cs
- NativeMethods.cs
- unsafenativemethodsother.cs
- _Rfc2616CacheValidators.cs
- HttpCookieCollection.cs
- GlyphRunDrawing.cs
- OutgoingWebResponseContext.cs
- MD5.cs
- ToolStripGrip.cs
- ETagAttribute.cs
- StorageMappingFragment.cs
- EntityTypeBase.cs
- DataServices.cs
- HtmlElementErrorEventArgs.cs
- Validator.cs
- CommandHelpers.cs