using System;
namespace VoxelBusters.CoreLibrary
{
public class Error
{
#region Properties
///
/// A description of the error occured (read-only).
///
/// The description of the error.
public string Domain { get; private set; }
///
/// A value indicating the type of error occured (read-only).
///
/// The error code.
public int Code { get; private set; }
///
/// A description of the error occured (read-only).
///
/// The description of the error.
public string Description { get; private set; }
#endregion
#region Constructors
public Error(string description)
: this(domain: null, code: 0, description: description)
{ }
public Error(string domain, int code, string description = null)
{
// set properties
Domain = domain;
Code = code;
Description = description;
}
#endregion
#region Static methods
public static Error CreateNullableError(string description)
{
if (description == null)
{
return null;
}
return new Error(description);
}
#endregion
#region Base class methods
public override string ToString()
{
return string.Format("Error Domain: {0} Code: {1} Description: {2}", Domain, Code, Description);
}
#endregion
}
}