Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // //// 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
- VersionUtil.cs
- PageMediaSize.cs
- PassportAuthenticationEventArgs.cs
- IconHelper.cs
- SpellerStatusTable.cs
- OleCmdHelper.cs
- MemberHolder.cs
- UserNameSecurityToken.cs
- TcpSocketManager.cs
- SchemaMerger.cs
- XmlRootAttribute.cs
- EventSetter.cs
- RolePrincipal.cs
- WeakReference.cs
- DataGridViewHeaderCell.cs
- TextTreeTextElementNode.cs
- PropertyEntry.cs
- SchemaElementLookUpTableEnumerator.cs
- ExpressionConverter.cs
- OneWayChannelListener.cs
- FontSizeConverter.cs
- Point3D.cs
- ErasingStroke.cs
- ProfilePropertyNameValidator.cs
- SubstitutionList.cs
- EncryptedHeaderXml.cs
- TabControlDesigner.cs
- WebPartConnectVerb.cs
- WmlPageAdapter.cs
- CodeMemberProperty.cs
- AppDomainUnloadedException.cs
- BamlReader.cs
- UnsafeNativeMethods.cs
- GetWinFXPath.cs
- ElementUtil.cs
- Block.cs
- EmptyStringExpandableObjectConverter.cs
- ForEachAction.cs
- TextTreeRootNode.cs
- ProtocolsConfigurationHandler.cs
- ElementHostPropertyMap.cs
- FloaterParaClient.cs
- BufferedGraphicsManager.cs
- TypeDelegator.cs
- ObjectSpanRewriter.cs
- TypeValidationEventArgs.cs
- ConfigurationStrings.cs
- EmptyStringExpandableObjectConverter.cs
- UserUseLicenseDictionaryLoader.cs
- SafeNativeMethods.cs
- XmlAttributeAttribute.cs
- ItemDragEvent.cs
- CaseInsensitiveComparer.cs
- Wildcard.cs
- AggregateNode.cs
- StatusBarPanelClickEvent.cs
- Opcode.cs
- RequestResizeEvent.cs
- AppDomainManager.cs
- MarkupCompiler.cs
- EUCJPEncoding.cs
- SHA256.cs
- SpAudioStreamWrapper.cs
- TextServicesHost.cs
- PrivilegeNotHeldException.cs
- Peer.cs
- Internal.cs
- DataServiceProviderWrapper.cs
- Formatter.cs
- ConditionChanges.cs
- CustomServiceCredentials.cs
- XmlEncodedRawTextWriter.cs
- ApplicationServiceManager.cs
- LabelDesigner.cs
- OrderPreservingSpoolingTask.cs
- DbConnectionFactory.cs
- WebPartCatalogCloseVerb.cs
- DbConnectionPoolGroupProviderInfo.cs
- SocketAddress.cs
- WithStatement.cs
- Preprocessor.cs
- NestPullup.cs
- ExponentialEase.cs
- UserControlAutomationPeer.cs
- _SpnDictionary.cs
- ValueUtilsSmi.cs
- InputScopeAttribute.cs
- StyleSheetComponentEditor.cs
- IndexOutOfRangeException.cs
- ComponentManagerBroker.cs
- InstanceCreationEditor.cs
- smtppermission.cs
- CompilationRelaxations.cs
- COM2AboutBoxPropertyDescriptor.cs
- PassportAuthenticationEventArgs.cs
- ObjectDataSourceDisposingEventArgs.cs
- Mappings.cs
- HasActivatableWorkflowEvent.cs
- ConnectionConsumerAttribute.cs
- EventLogPermissionEntry.cs