mirror of
https://github.com/S7NetPlus/s7netplus.git
synced 2026-02-17 22:38:27 +08:00
This requires reference types that can be null to be annotated by a ? operator, similar to value types. This gives the advantage that the compiler can warn against any null dereference exceptions, of which this commits elimits a few. To make the underlying protocol implementation not any more complicated and to eliminate existing problems, and not that precise error reporting, I replaced some return null statements with explicit Exceptions. This lead to the assumption that those core protocoll functions always return non-null objects if they do not throw, making the PLC code simpler. Adjust some NotConnected tests to look for explicit PlcException instead of NullReferenceException.
114 lines
2.7 KiB
C#
114 lines
2.7 KiB
C#
using System;
|
|
#if NET_FULL
|
|
using System.Runtime.Serialization;
|
|
#endif
|
|
|
|
|
|
namespace S7.Net
|
|
{
|
|
internal class WrongNumberOfBytesException : Exception
|
|
{
|
|
public WrongNumberOfBytesException() : base()
|
|
{
|
|
}
|
|
|
|
public WrongNumberOfBytesException(string message) : base(message)
|
|
{
|
|
}
|
|
|
|
public WrongNumberOfBytesException(string message, Exception innerException) : base(message, innerException)
|
|
{
|
|
}
|
|
|
|
#if NET_FULL
|
|
protected WrongNumberOfBytesException(SerializationInfo info, StreamingContext context) : base(info, context)
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
|
|
internal class InvalidAddressException : Exception
|
|
{
|
|
public InvalidAddressException() : base ()
|
|
{
|
|
}
|
|
|
|
public InvalidAddressException(string message) : base(message)
|
|
{
|
|
}
|
|
|
|
public InvalidAddressException(string message, Exception innerException) : base(message, innerException)
|
|
{
|
|
}
|
|
|
|
#if NET_FULL
|
|
protected InvalidAddressException(SerializationInfo info, StreamingContext context) : base(info, context)
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
|
|
internal class InvalidVariableTypeException : Exception
|
|
{
|
|
public InvalidVariableTypeException() : base()
|
|
{
|
|
}
|
|
|
|
public InvalidVariableTypeException(string message) : base(message)
|
|
{
|
|
}
|
|
|
|
public InvalidVariableTypeException(string message, Exception innerException) : base(message, innerException)
|
|
{
|
|
}
|
|
|
|
#if NET_FULL
|
|
protected InvalidVariableTypeException(SerializationInfo info, StreamingContext context) : base(info, context)
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
|
|
internal class TPKTInvalidException : Exception
|
|
{
|
|
public TPKTInvalidException() : base()
|
|
{
|
|
}
|
|
|
|
public TPKTInvalidException(string message) : base(message)
|
|
{
|
|
}
|
|
|
|
public TPKTInvalidException(string message, Exception innerException) : base(message, innerException)
|
|
{
|
|
}
|
|
|
|
#if NET_FULL
|
|
protected TPKTInvalidException(SerializationInfo info, StreamingContext context) : base(info, context)
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
|
|
internal class TPDUInvalidException : Exception
|
|
{
|
|
public TPDUInvalidException() : base()
|
|
{
|
|
}
|
|
|
|
public TPDUInvalidException(string message) : base(message)
|
|
{
|
|
}
|
|
|
|
public TPDUInvalidException(string message, Exception innerException) : base(message, innerException)
|
|
{
|
|
}
|
|
|
|
#if NET_FULL
|
|
protected TPDUInvalidException(SerializationInfo info, StreamingContext context) : base(info, context)
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
}
|