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
- CheckBoxList.cs
- HMACSHA512.cs
- ContentElement.cs
- WebPartDisplayModeCancelEventArgs.cs
- CodeEventReferenceExpression.cs
- DataGridViewRowsAddedEventArgs.cs
- WebResourceUtil.cs
- Matrix3D.cs
- ListViewGroupConverter.cs
- Point.cs
- DataGridViewBindingCompleteEventArgs.cs
- VisualBrush.cs
- Binding.cs
- ConnectionsZone.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- DbInsertCommandTree.cs
- ScrollChangedEventArgs.cs
- XmlException.cs
- ContentPathSegment.cs
- sqlmetadatafactory.cs
- NameHandler.cs
- MimeXmlReflector.cs
- Method.cs
- VideoDrawing.cs
- MethodExpr.cs
- ScrollBar.cs
- UnknownBitmapDecoder.cs
- ImageCollectionEditor.cs
- XdrBuilder.cs
- FileDataSourceCache.cs
- WebPermission.cs
- WeakReference.cs
- BadImageFormatException.cs
- FontSourceCollection.cs
- ResourceKey.cs
- WebAdminConfigurationHelper.cs
- ZipFileInfo.cs
- CultureSpecificStringDictionary.cs
- HttpSessionStateWrapper.cs
- NumberFunctions.cs
- OdbcException.cs
- FrameworkContentElementAutomationPeer.cs
- File.cs
- ClassHandlersStore.cs
- PageAsyncTaskManager.cs
- EventRoute.cs
- COM2IProvidePropertyBuilderHandler.cs
- NativeMethods.cs
- DataGridRowEventArgs.cs
- PrivateFontCollection.cs
- LinkClickEvent.cs
- PixelShader.cs
- TextEditorCopyPaste.cs
- View.cs
- InternalConfigEventArgs.cs
- XmlSchemaAll.cs
- MetadataUtilsSmi.cs
- ObjectTag.cs
- FileDialogPermission.cs
- ConfigurationProperty.cs
- RegisteredScript.cs
- LinkLabelLinkClickedEvent.cs
- EntitySetRetriever.cs
- FormsAuthentication.cs
- MenuCommandsChangedEventArgs.cs
- WebGetAttribute.cs
- SamlAttributeStatement.cs
- ByteArrayHelperWithString.cs
- RegexGroup.cs
- sqlcontext.cs
- TailCallAnalyzer.cs
- FrameworkTextComposition.cs
- OdbcConnection.cs
- ItemCheckEvent.cs
- UriTemplateTrieNode.cs
- StyleTypedPropertyAttribute.cs
- ActiveXContainer.cs
- AppSettingsExpressionBuilder.cs
- OutputCacheProfile.cs
- Base64Decoder.cs
- SyndicationDeserializer.cs
- UserInitiatedNavigationPermission.cs
- MiniLockedBorderGlyph.cs
- _NegoStream.cs
- columnmapfactory.cs
- DataContext.cs
- DbCommandDefinition.cs
- ApplicationInfo.cs
- SoapCommonClasses.cs
- DependencyObjectPropertyDescriptor.cs
- OdbcErrorCollection.cs
- InputLanguageManager.cs
- ClosableStream.cs
- DataBoundControl.cs
- ArraySegment.cs
- SimpleHandlerBuildProvider.cs
- CoreSwitches.cs
- RoleServiceManager.cs
- Delegate.cs
- TextDataBindingHandler.cs