77 lines
2.6 KiB
C#

//----------------------------------------------------------------------------
//
// Copyright (c) Intel Corporation, 2008 - 2009 All Rights Reserved.
//
// File: CimException.cs
//
// Contents: CimException is a part of the CimFramework project.
// It contains the definitions of the exceptions used in the framework.
//
//----------------------------------------------------------------------------
using System;
using Intel.Manageability.WSManagement;
namespace Intel.Manageability.Exceptions
{
/// <summary>
/// Class that represents a logical error in the framework.
/// </summary>
public class CimException : Exception
{
/// <summary>
/// A struct that represents the WS-Management fault data
/// </summary>
public Fault CimFault{get; set;}
/// <summary>
/// Constructor
/// </summary>
/// <param name="msg">Error message</param>
public CimException(String msg): base("Logic error:\n"+msg){}
/// <summary>
/// Copy constructor
/// </summary>
/// <param name="other">Object to be copied.</param>
public CimException(Exception other) : base(other.Message, other) { }
/// <summary>
/// Constructor
/// </summary>
/// <param name="CimFaultOther">Error details</param>
/// <param name="ex">Other exception to be copied</param>
public CimException(Fault CimFaultOther, Exception ex)
: base("CimFault.Code: " + CimFaultOther.Code.Value + " CimFault.SubCode: " + CimFaultOther.Code.Subcode.Value, ex)
{
CimFault = CimFaultOther;
}
/// <summary>
/// Constructor
/// </summary>
/// <param name="CimFaultOther">Error details</param>
public CimException(Fault CimFaultOther)
: base("CimFault.Code: " + CimFaultOther.Code.Value + " CimFault.SubCode: " + CimFaultOther.Code.Subcode.Value)
{
CimFault = CimFaultOther;
}
}
/// <summary>
/// Class that represents a property access error in the framework.
/// </summary>
public class CimPropertyException : CimException
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="msg">Error message</param>
public CimPropertyException(String msg): base(msg){}
/// <summary>
/// Constructor
/// </summary>
/// <param name="other">Other exception to be copied</param>
public CimPropertyException(Exception other) : base(other) { }
}
}