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
- XmlHierarchyData.cs
- ConsoleKeyInfo.cs
- DXD.cs
- SqlDataSourceSelectingEventArgs.cs
- CompilationRelaxations.cs
- CustomWebEventKey.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- XmlSchemaIdentityConstraint.cs
- ClientRolePrincipal.cs
- SystemIPInterfaceStatistics.cs
- DESCryptoServiceProvider.cs
- ListMarkerSourceInfo.cs
- SocketElement.cs
- ErrorHandler.cs
- HttpWebResponse.cs
- IntegerValidator.cs
- MouseEvent.cs
- DependencyPropertyDescriptor.cs
- ApplicationSettingsBase.cs
- CalendarDay.cs
- CollectionsUtil.cs
- XmlSerializerFactory.cs
- RenameRuleObjectDialog.cs
- WindowsScrollBar.cs
- TypeSchema.cs
- ObjectSecurity.cs
- SmiTypedGetterSetter.cs
- RemoteHelper.cs
- LineSegment.cs
- Content.cs
- Int64Storage.cs
- ThreadAbortException.cs
- HtmlHead.cs
- FragmentQueryKB.cs
- OleAutBinder.cs
- GetWinFXPath.cs
- CustomAssemblyResolver.cs
- DataRelationCollection.cs
- RC2.cs
- WorkItem.cs
- DecoderFallback.cs
- DataGridPagerStyle.cs
- securitycriticaldata.cs
- XamlStackWriter.cs
- SurrogateSelector.cs
- XsdBuildProvider.cs
- ResourceKey.cs
- MarkupExtensionParser.cs
- TextBox.cs
- RenderingBiasValidation.cs
- CodeDomLoader.cs
- ComponentRenameEvent.cs
- CursorConverter.cs
- RelatedView.cs
- MailMessageEventArgs.cs
- SendKeys.cs
- ConfigurationPropertyAttribute.cs
- SqlPersonalizationProvider.cs
- EditorPart.cs
- Icon.cs
- TemplatedWizardStep.cs
- OleDbPermission.cs
- EncoderParameters.cs
- XXXOnTypeBuilderInstantiation.cs
- ColorAnimationUsingKeyFrames.cs
- CommandTreeTypeHelper.cs
- GridView.cs
- HttpApplicationFactory.cs
- ClonableStack.cs
- BaseTransportHeaders.cs
- ControlBindingsCollection.cs
- WsdlInspector.cs
- HostingEnvironmentSection.cs
- FixedSOMGroup.cs
- input.cs
- ToolStripContainerActionList.cs
- WebUtil.cs
- CollectionViewSource.cs
- PostBackOptions.cs
- WebPartTransformer.cs
- XmlReflectionMember.cs
- MostlySingletonList.cs
- _AutoWebProxyScriptHelper.cs
- PasswordRecovery.cs
- SmtpFailedRecipientException.cs
- ExceptionHelpers.cs
- StringHandle.cs
- EventWaitHandle.cs
- ProvidePropertyAttribute.cs
- CommandID.cs
- XmlNamespaceMappingCollection.cs
- ObjectDisposedException.cs
- PerformanceCounterPermissionEntry.cs
- FormViewUpdatedEventArgs.cs
- RootBrowserWindowProxy.cs
- CompilerCollection.cs
- oledbmetadatacolumnnames.cs
- NonVisualControlAttribute.cs
- ForeignConstraint.cs
- TokenBasedSet.cs