/* ****************************************************************************
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
* This software is subject to the Microsoft Public License (Ms-PL).
* A copy of the license can be found in the license.htm file included
* in this distribution.
*
* You must not remove this notice, or any other, from this software.
*
* ***************************************************************************/
namespace System.Web.Mvc{
using System;
using System.Diagnostics.CodeAnalysis;
public class ExceptionContext : ControllerContext {
private ActionResult _result;
// parameterless constructor used for mocking
public ExceptionContext() {
}
[SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors",
Justification = "The virtual property setters are only to support mocking frameworks, in which case this constructor shouldn't be called anyway.")]
public ExceptionContext(ControllerContext controllerContext, Exception exception)
: base(controllerContext) {
if (exception == null) {
throw new ArgumentNullException("exception");
}
Exception = exception;
}
public virtual Exception Exception {
get;
set;
}
public bool ExceptionHandled {
get;
set;
}
public ActionResult Result {
get {
return _result ?? EmptyResult.Instance;
}
set {
_result = value;
}
}
}
}
|