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
- DataReaderContainer.cs
- MutableAssemblyCacheEntry.cs
- nulltextcontainer.cs
- LongValidator.cs
- Matrix3DConverter.cs
- EpmAttributeNameBuilder.cs
- WebSysDisplayNameAttribute.cs
- CellPartitioner.cs
- QueryAsyncResult.cs
- DropDownHolder.cs
- DefaultValueConverter.cs
- IsolatedStorageException.cs
- RowType.cs
- RuleAttributes.cs
- AuthenticationException.cs
- BinaryFormatterSinks.cs
- UnsafeNativeMethods.cs
- EventPropertyMap.cs
- ThumbButtonInfo.cs
- StrokeIntersection.cs
- CategoriesDocument.cs
- WebHttpSecurityElement.cs
- WebPartDisplayModeCollection.cs
- HideDisabledControlAdapter.cs
- ListenerConnectionDemuxer.cs
- ParserOptions.cs
- NativeRecognizer.cs
- DataGridViewColumnCollection.cs
- _emptywebproxy.cs
- OdbcEnvironmentHandle.cs
- ProgressBarRenderer.cs
- AttachedPropertiesService.cs
- ClickablePoint.cs
- ToolBarButtonClickEvent.cs
- CodeDirectoryCompiler.cs
- DataGridViewCellConverter.cs
- ValidationRule.cs
- ObjectSecurityT.cs
- XamlContextStack.cs
- BulletedList.cs
- SchemaConstraints.cs
- PersonalizableTypeEntry.cs
- TextMetrics.cs
- Dictionary.cs
- TypeHelpers.cs
- HierarchicalDataSourceControl.cs
- ObjectDataSourceFilteringEventArgs.cs
- MethodImplAttribute.cs
- ResourceSet.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- TraceHandler.cs
- Error.cs
- BaseCAMarshaler.cs
- OleDbCommandBuilder.cs
- BinaryMessageFormatter.cs
- WindowVisualStateTracker.cs
- DetailsViewUpdatedEventArgs.cs
- AndCondition.cs
- ClusterRegistryConfigurationProvider.cs
- TextEndOfParagraph.cs
- ScriptControlManager.cs
- Mappings.cs
- Transform3DGroup.cs
- EdgeModeValidation.cs
- ImageBrush.cs
- SByteStorage.cs
- xmlNames.cs
- EnlistmentTraceIdentifier.cs
- VisualStyleInformation.cs
- LinkedResourceCollection.cs
- CallContext.cs
- AssociationProvider.cs
- WebAdminConfigurationHelper.cs
- ChannelTokenTypeConverter.cs
- SymbolMethod.cs
- TextElementAutomationPeer.cs
- nulltextcontainer.cs
- UncommonField.cs
- TiffBitmapDecoder.cs
- HtmlSelectionListAdapter.cs
- AspProxy.cs
- TreeNodeBinding.cs
- QuaternionRotation3D.cs
- RegexMatch.cs
- XmlChoiceIdentifierAttribute.cs
- Soap.cs
- QueryStringParameter.cs
- ServicePoint.cs
- GridLengthConverter.cs
- BitmapEffectInput.cs
- XmlSchemaAttributeGroupRef.cs
- WsiProfilesElementCollection.cs
- RequestNavigateEventArgs.cs
- MediaPlayer.cs
- QilTargetType.cs
- CuspData.cs
- TrackBarRenderer.cs
- LabelEditEvent.cs
- AutomationProperties.cs
- DataGridBeginningEditEventArgs.cs