/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Everest.Library.Providers.ExceptionHandling{
/// <summary>
///
/// </summary>
public static class ExceptionManager
{
/// <summary>
///
/// </summary>
static volatile IExceptionHandler exceptionHandler = null;
static object lockHelper = new object();
/// <summary>
/// Gets the cryptography provider.
/// </summary>
/// <value>The cryptography provider.</value>
public static IExceptionHandler CryptographyProvider
{
get
{
if (exceptionHandler == null)
{
lock (lockHelper)
{
if (exceptionHandler == null)
{
exceptionHandler = UnityManager.Resolve<IExceptionHandler>();
}
}
}
return exceptionHandler;
}
}
/// <summary>
/// Handles the exception.
/// </summary>
/// <param name="exceptionToHandle">The exception to handle.</param>
/// <param name="exceptionToThrow">The exception to throw.</param>
/// <returns></returns>
public static bool HandleException(Exception exceptionToHandle, out Exception exceptionToThrow)
{
return exceptionHandler.HandleException(exceptionToHandle, out exceptionToThrow);
}
/// <summary>
/// Handles the exception.
/// </summary>
/// <param name="exceptionToHandle">The exception to handle.</param>
/// <returns></returns>
public static bool HandleException(Exception exceptionToHandle)
{
return exceptionHandler.HandleException(exceptionToHandle);
}
}
}
|