mirror of
https://github.com/ckaczor/OneWireAPI.git
synced 2026-01-14 01:25:40 -05:00
107 lines
2.9 KiB
C#
107 lines
2.9 KiB
C#
using System;
|
|
|
|
namespace OneWireAPI
|
|
{
|
|
[Serializable]
|
|
public class owException : Exception
|
|
{
|
|
#region Enumerations
|
|
|
|
public enum owExceptionFunction
|
|
{
|
|
Access,
|
|
CRC,
|
|
ReadBit,
|
|
ReadByte,
|
|
Select,
|
|
SendBit,
|
|
SendBlock,
|
|
SendByte,
|
|
SetLevel
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Private member variables
|
|
|
|
private readonly int _errorNumber;
|
|
private readonly owExceptionFunction _errorFunction;
|
|
private readonly owIdentifier _deviceID;
|
|
|
|
#endregion
|
|
|
|
#region Constructors
|
|
|
|
public owException(owExceptionFunction function, int number)
|
|
{
|
|
// Store the exception function
|
|
_errorFunction = function;
|
|
|
|
// Store the exception number
|
|
_errorNumber = number;
|
|
}
|
|
|
|
public owException(owExceptionFunction function, owIdentifier deviceID)
|
|
{
|
|
// Store the exception function
|
|
_errorFunction = function;
|
|
|
|
// Store the device ID
|
|
_deviceID = deviceID;
|
|
}
|
|
|
|
public owException(owExceptionFunction function, owIdentifier deviceID, int number)
|
|
{
|
|
// Store the exception function
|
|
_errorFunction = function;
|
|
|
|
// Store the device ID
|
|
_deviceID = deviceID;
|
|
|
|
// Store the exception number
|
|
_errorNumber = number;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
|
|
public owIdentifier DeviceID
|
|
{
|
|
get { return _deviceID; }
|
|
}
|
|
|
|
public owExceptionFunction Function
|
|
{
|
|
get { return _errorFunction; }
|
|
}
|
|
|
|
public override string Message
|
|
{
|
|
get
|
|
{
|
|
switch (_errorFunction)
|
|
{
|
|
case owExceptionFunction.Access: return "Unable to access device";
|
|
case owExceptionFunction.CRC: return "CRC mismatch";
|
|
case owExceptionFunction.ReadBit: return "Error reading bit";
|
|
case owExceptionFunction.ReadByte: return "Error reading byte";
|
|
case owExceptionFunction.Select: return "Unable to select device";
|
|
case owExceptionFunction.SendBit: return "Error sending bit";
|
|
case owExceptionFunction.SendBlock: return "Error sending block";
|
|
case owExceptionFunction.SendByte: return "Error sending byte";
|
|
case owExceptionFunction.SetLevel: return "Error setting level";
|
|
default: return "Unknown error in function" + _errorFunction;
|
|
}
|
|
}
|
|
}
|
|
|
|
public int Number
|
|
{
|
|
get { return _errorNumber; }
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|