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
- UriGenerator.cs
- SortKey.cs
- HandlerWithFactory.cs
- BmpBitmapDecoder.cs
- WindowPatternIdentifiers.cs
- ConstrainedDataObject.cs
- GeneralTransformCollection.cs
- XmlDataSource.cs
- RetrieveVirtualItemEventArgs.cs
- ImportCatalogPart.cs
- ScrollEventArgs.cs
- RowToParametersTransformer.cs
- X509ClientCertificateAuthentication.cs
- AttributeProviderAttribute.cs
- TextEffectResolver.cs
- ListView.cs
- MenuScrollingVisibilityConverter.cs
- KeyTimeConverter.cs
- _HeaderInfo.cs
- Debug.cs
- ProtectedConfiguration.cs
- XmlDataSourceNodeDescriptor.cs
- Choices.cs
- Pen.cs
- BaseDataBoundControlDesigner.cs
- RequestSecurityToken.cs
- MimePart.cs
- DoubleIndependentAnimationStorage.cs
- FontWeights.cs
- BulletDecorator.cs
- DelayLoadType.cs
- Window.cs
- WebPartTransformerAttribute.cs
- XmlSchemaInclude.cs
- BevelBitmapEffect.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- TextBox.cs
- MetadataFile.cs
- ImplicitInputBrush.cs
- ValidationEventArgs.cs
- StyleBamlRecordReader.cs
- ListBoxChrome.cs
- ColorTransformHelper.cs
- FrameworkObject.cs
- UnsafeNativeMethods.cs
- Int32Rect.cs
- UrlAuthFailedErrorFormatter.cs
- FileLevelControlBuilderAttribute.cs
- RegisteredHiddenField.cs
- Stroke2.cs
- FormViewCommandEventArgs.cs
- CellPartitioner.cs
- XsltInput.cs
- ValidationError.cs
- IISMapPath.cs
- UnaryNode.cs
- DateTimeFormatInfoScanner.cs
- PtsCache.cs
- BinaryUtilClasses.cs
- TextSelectionHighlightLayer.cs
- ChineseLunisolarCalendar.cs
- ThicknessAnimationBase.cs
- ProfileEventArgs.cs
- Win32Native.cs
- XmlIncludeAttribute.cs
- keycontainerpermission.cs
- WebPartCatalogAddVerb.cs
- _FixedSizeReader.cs
- LayoutEngine.cs
- MarkupProperty.cs
- SiteMapNodeItemEventArgs.cs
- QueryOutputWriter.cs
- SessionStateSection.cs
- PageParser.cs
- StrongNameIdentityPermission.cs
- prefixendpointaddressmessagefiltertable.cs
- ModelItemDictionaryImpl.cs
- BinaryNode.cs
- DaylightTime.cs
- PointF.cs
- ExpressionBuilderContext.cs
- HelpProvider.cs
- BindingMemberInfo.cs
- versioninfo.cs
- UrlUtility.cs
- RepeaterItemEventArgs.cs
- MediaEntryAttribute.cs
- CacheHelper.cs
- MailAddressCollection.cs
- LocationReferenceEnvironment.cs
- ExceptionHelpers.cs
- CellLabel.cs
- Style.cs
- ListDesigner.cs
- IdentifierService.cs
- DSASignatureDeformatter.cs
- AsymmetricSignatureDeformatter.cs
- OrthographicCamera.cs
- PropertyToken.cs
- TaiwanCalendar.cs