39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace S7.Net
|
|
{
|
|
#if NET_FULL
|
|
[Serializable]
|
|
#endif
|
|
public class PlcException : Exception
|
|
{
|
|
public ErrorCode ErrorCode { get; }
|
|
|
|
public PlcException(ErrorCode errorCode) : this(errorCode, $"PLC communication failed with error '{errorCode}'.")
|
|
{
|
|
}
|
|
|
|
public PlcException(ErrorCode errorCode, Exception innerException) : this(errorCode, innerException.Message,
|
|
innerException)
|
|
{
|
|
}
|
|
|
|
public PlcException(ErrorCode errorCode, string message) : base(message)
|
|
{
|
|
ErrorCode = errorCode;
|
|
}
|
|
|
|
public PlcException(ErrorCode errorCode, string message, Exception inner) : base(message, inner)
|
|
{
|
|
ErrorCode = errorCode;
|
|
}
|
|
|
|
#if NET_FULL
|
|
protected PlcException(System.Runtime.Serialization.SerializationInfo info,
|
|
System.Runtime.Serialization.StreamingContext context) : base(info, context)
|
|
{
|
|
ErrorCode = (ErrorCode) info.GetInt32(nameof(ErrorCode));
|
|
}
|
|
#endif
|
|
}
|
|
} |