Add ZeroTierException to C# Wrapper for better error reporting

This commit is contained in:
Joseph Henry
2021-01-14 18:11:30 -08:00
parent d49d5df018
commit 115a241807

View File

@@ -23,6 +23,16 @@ using ZeroTier;
/// </summary> /// </summary>
namespace ZeroTier namespace ZeroTier
{ {
public class ZeroTierException : Exception
{
public ZeroTierException(int _serviceErrorCode, int _socketErrorCode) {
ServiceErrorCode = _serviceErrorCode;
SocketErrorCode = _socketErrorCode;
}
public int ServiceErrorCode { get; set; }
public int SocketErrorCode { get; set; }
}
/// <summary> /// <summary>
/// ZeroTier Socket - An lwIP socket mediated over a ZeroTier virtual link /// ZeroTier Socket - An lwIP socket mediated over a ZeroTier virtual link
/// </summary> /// </summary>
@@ -172,7 +182,7 @@ namespace ZeroTier
*/ */
} }
if (err < 0) { if (err < 0) {
throw new SocketException((int)err); throw new ZeroTierException(err, ZeroTier.Node.ErrNo);
} }
_remoteEndPoint = remoteEndPoint; _remoteEndPoint = remoteEndPoint;
} }