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
- WorkflowPrinting.cs
- TCPClient.cs
- TemplateControl.cs
- CatalogZoneBase.cs
- InvalidFilterCriteriaException.cs
- QueryResponse.cs
- ProxyWebPartManager.cs
- ListView.cs
- UserUseLicenseDictionaryLoader.cs
- TreeNodeCollection.cs
- Size3D.cs
- FillRuleValidation.cs
- ProvideValueServiceProvider.cs
- SparseMemoryStream.cs
- StylusEditingBehavior.cs
- RemoteWebConfigurationHostStream.cs
- DeflateEmulationStream.cs
- SafeCertificateStore.cs
- Win32.cs
- FacetValueContainer.cs
- CompressStream.cs
- RuntimeResourceSet.cs
- ClientApiGenerator.cs
- LockRecursionException.cs
- CultureTableRecord.cs
- ListViewItemEventArgs.cs
- WebServiceEnumData.cs
- AttributeInfo.cs
- ClientBuildManagerCallback.cs
- SecurityKeyUsage.cs
- SecurityException.cs
- Animatable.cs
- TransformPattern.cs
- HtmlHead.cs
- ValuePatternIdentifiers.cs
- ContentFilePart.cs
- SplitterPanel.cs
- Type.cs
- MouseActionValueSerializer.cs
- SmiContextFactory.cs
- PTProvider.cs
- CellParaClient.cs
- SeverityFilter.cs
- MasterPageBuildProvider.cs
- SchemaCollectionCompiler.cs
- Separator.cs
- RangeContentEnumerator.cs
- WebMessageEncoderFactory.cs
- HtmlEmptyTagControlBuilder.cs
- EndpointAddressElementBase.cs
- WebBrowserBase.cs
- AnnotationHighlightLayer.cs
- JavaScriptObjectDeserializer.cs
- WsdlBuildProvider.cs
- SoapConverter.cs
- webclient.cs
- WorkflowClientDeliverMessageWrapper.cs
- DataPagerField.cs
- DataGridComboBoxColumn.cs
- DeobfuscatingStream.cs
- DataTablePropertyDescriptor.cs
- CatalogZone.cs
- WebPartCatalogCloseVerb.cs
- PnrpPermission.cs
- CommittableTransaction.cs
- PrimitiveDataContract.cs
- panel.cs
- DetailsViewModeEventArgs.cs
- PointHitTestParameters.cs
- OperatorExpressions.cs
- QueueTransferProtocol.cs
- webproxy.cs
- ReturnType.cs
- PropertyMetadata.cs
- HtmlDocument.cs
- diagnosticsswitches.cs
- BitmapEffectDrawingContent.cs
- Stroke.cs
- BaseDataBoundControl.cs
- MtomMessageEncoder.cs
- SystemWebExtensionsSectionGroup.cs
- Converter.cs
- DragDropManager.cs
- Process.cs
- DefaultAssemblyResolver.cs
- DiscoveryInnerClientAdhoc11.cs
- ListInitExpression.cs
- GraphicsPathIterator.cs
- Rotation3DAnimation.cs
- PinnedBufferMemoryStream.cs
- DBBindings.cs
- ViewDesigner.cs
- Vector3DCollection.cs
- CryptoHelper.cs
- RangeValidator.cs
- TextAdaptor.cs
- PrintDialog.cs
- base64Transforms.cs
- GridItemPattern.cs
- ButtonFlatAdapter.cs