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
- Listbox.cs
- TrackingConditionCollection.cs
- ReachPageContentCollectionSerializer.cs
- TypeHelper.cs
- CodeTypeConstructor.cs
- EntityStoreSchemaFilterEntry.cs
- ContainerUtilities.cs
- DataGridColumn.cs
- WindowsToolbarAsMenu.cs
- FormsAuthenticationConfiguration.cs
- CompositeFontFamily.cs
- ConfigPathUtility.cs
- KnownTypesProvider.cs
- SqlParameterizer.cs
- columnmapfactory.cs
- ArrayMergeHelper.cs
- SettingsSection.cs
- GeometryDrawing.cs
- VisualState.cs
- ConsoleEntryPoint.cs
- WebPartTransformer.cs
- ComponentResourceKeyConverter.cs
- ChannelManager.cs
- Aggregates.cs
- DoubleIndependentAnimationStorage.cs
- DataGridCommandEventArgs.cs
- FastEncoder.cs
- BamlBinaryReader.cs
- ColumnReorderedEventArgs.cs
- ZipIORawDataFileBlock.cs
- PropertyStore.cs
- TextOnlyOutput.cs
- ExtensionQuery.cs
- RadioButtonList.cs
- ForeignConstraint.cs
- sqlser.cs
- FileStream.cs
- EncodingInfo.cs
- NetworkAddressChange.cs
- Point4D.cs
- PropertyTab.cs
- Transform3DGroup.cs
- EditorZone.cs
- SwitchExpression.cs
- BypassElement.cs
- XMLSchema.cs
- ObjectStateManager.cs
- ToolStripScrollButton.cs
- TextEffectResolver.cs
- ToolStripHighContrastRenderer.cs
- CodeDOMProvider.cs
- SqlReferenceCollection.cs
- HttpWebResponse.cs
- HistoryEventArgs.cs
- DataGridHeaderBorder.cs
- Converter.cs
- ExternalException.cs
- ConditionalDesigner.cs
- SchemaElement.cs
- FragmentQuery.cs
- Constraint.cs
- ProcessHostMapPath.cs
- DataViewManagerListItemTypeDescriptor.cs
- FileRecordSequenceCompletedAsyncResult.cs
- MtomMessageEncodingElement.cs
- SendSecurityHeaderElement.cs
- ResourcesChangeInfo.cs
- QilTypeChecker.cs
- AuditLogLocation.cs
- MetaTable.cs
- IDictionary.cs
- DataGridViewCellParsingEventArgs.cs
- HttpWebRequest.cs
- CompositeDuplexElement.cs
- QuestionEventArgs.cs
- GeneralTransform3D.cs
- Debugger.cs
- ToolboxItemCollection.cs
- SimpleBitVector32.cs
- RedirectionProxy.cs
- ClassHandlersStore.cs
- ComplexPropertyEntry.cs
- TypeDescriptionProvider.cs
- TypeSystemProvider.cs
- EntityDataSourceStatementEditorForm.cs
- IdentityModelDictionary.cs
- XmlSchemaSimpleTypeRestriction.cs
- DataServiceProviderMethods.cs
- SiteMapNodeItemEventArgs.cs
- counter.cs
- GlobalProxySelection.cs
- FilterableAttribute.cs
- XmlSchema.cs
- GridViewCellAutomationPeer.cs
- CommonProperties.cs
- WebPartEditorApplyVerb.cs
- GetPageNumberCompletedEventArgs.cs
- PersianCalendar.cs
- MemoryFailPoint.cs
- TypeHelper.cs