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
- XmlSchemaSimpleTypeRestriction.cs
- MediaElement.cs
- CapabilitiesState.cs
- LabelEditEvent.cs
- TdsParserHelperClasses.cs
- SqlRowUpdatedEvent.cs
- CompensationHandlingFilter.cs
- ShaderEffect.cs
- Int32.cs
- BindingWorker.cs
- FactoryGenerator.cs
- Misc.cs
- OleDbSchemaGuid.cs
- XmlUtil.cs
- XmlDocumentViewSchema.cs
- HtmlInputReset.cs
- selecteditemcollection.cs
- ObjectStateEntry.cs
- GreaterThan.cs
- ConfigurationElementProperty.cs
- WindowsAltTab.cs
- XXXOnTypeBuilderInstantiation.cs
- CompensatableTransactionScopeActivityDesigner.cs
- EventListener.cs
- BrowserDefinition.cs
- CodeConstructor.cs
- Utils.cs
- ToolStripContentPanel.cs
- MultiPageTextView.cs
- shaper.cs
- DelegateSerializationHolder.cs
- Thread.cs
- XmlSchemaIdentityConstraint.cs
- EntityViewGenerationConstants.cs
- DisplayMemberTemplateSelector.cs
- HtmlInputHidden.cs
- ProbeMatchesMessageCD1.cs
- SourceInterpreter.cs
- Operators.cs
- CorrelationInitializer.cs
- FileDialog_Vista_Interop.cs
- DataGridViewSelectedCellCollection.cs
- TableLayoutRowStyleCollection.cs
- SocketException.cs
- CollectionBuilder.cs
- ModifierKeysValueSerializer.cs
- WorkItem.cs
- ClientApiGenerator.cs
- DefaultTraceListener.cs
- JsonReader.cs
- EventMemberCodeDomSerializer.cs
- DataBoundControlParameterTarget.cs
- MetadataArtifactLoaderCompositeResource.cs
- WebPartDescriptionCollection.cs
- GeneralTransform3DGroup.cs
- ObjectQueryState.cs
- ScriptingProfileServiceSection.cs
- ManagedWndProcTracker.cs
- RadioButtonRenderer.cs
- DataListItemEventArgs.cs
- RawStylusInputCustomData.cs
- DataPagerCommandEventArgs.cs
- _ConnectionGroup.cs
- RotateTransform3D.cs
- Oid.cs
- PaintEvent.cs
- BuildDependencySet.cs
- ToolStripButton.cs
- GroupBox.cs
- TableLayoutPanelCellPosition.cs
- basevalidator.cs
- DeviceSpecificDialogCachedState.cs
- HttpCacheParams.cs
- ObjectDataSourceFilteringEventArgs.cs
- ProfileGroupSettingsCollection.cs
- UniqueIdentifierService.cs
- ListViewDeleteEventArgs.cs
- input.cs
- SynchronizedDispatch.cs
- DifferencingCollection.cs
- ObjectDataSourceEventArgs.cs
- JsonObjectDataContract.cs
- AnimationClockResource.cs
- PartitionedDataSource.cs
- XmlCompatibilityReader.cs
- ToolStripTextBox.cs
- VariableDesigner.xaml.cs
- StdValidatorsAndConverters.cs
- LinkUtilities.cs
- ThreadStaticAttribute.cs
- TextRangeEditTables.cs
- brushes.cs
- WeakRefEnumerator.cs
- DataGridViewCheckBoxCell.cs
- HashCryptoHandle.cs
- SelectionListComponentEditor.cs
- EntityParameterCollection.cs
- SerializationStore.cs
- Matrix.cs
- ConfigurationHelpers.cs