From f728bea276eb793ca5c0fc582f03505fad9feb8c Mon Sep 17 00:00:00 2001 From: yedajiang44 <602830483@qq.com> Date: Tue, 1 Sep 2020 10:24:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/JT809.Protocol/Enums/JT809ErrorCode.cs | 1 + src/JT809.Protocol/SubMessageBody/JT809_0x1300_0x1303.cs | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/JT809.Protocol/Enums/JT809ErrorCode.cs b/src/JT809.Protocol/Enums/JT809ErrorCode.cs index 54272fa..ce31c89 100644 --- a/src/JT809.Protocol/Enums/JT809ErrorCode.cs +++ b/src/JT809.Protocol/Enums/JT809ErrorCode.cs @@ -17,5 +17,6 @@ namespace JT809.Protocol.Enums GetAttributeError=1009, ReaderRemainContentLengthError = 1010, NotGlobalRegisterFormatterAssembly=1011, + IllegalArgument=1012 } } diff --git a/src/JT809.Protocol/SubMessageBody/JT809_0x1300_0x1303.cs b/src/JT809.Protocol/SubMessageBody/JT809_0x1300_0x1303.cs index 57aeaef..6db0dca 100644 --- a/src/JT809.Protocol/SubMessageBody/JT809_0x1300_0x1303.cs +++ b/src/JT809.Protocol/SubMessageBody/JT809_0x1300_0x1303.cs @@ -6,6 +6,7 @@ using System; using JT809.Protocol.Interfaces; using System.Collections.Generic; using System.Text.Json; +using JT809.Protocol.Exceptions; namespace JT809.Protocol.SubMessageBody { @@ -64,14 +65,14 @@ namespace JT809.Protocol.SubMessageBody value.SerialCount = reader.ReadByte(); value.BeginMessageNumber = reader.ReadUInt32(); value.EndMessageNumber = reader.ReadUInt32(); - if (value.SerialCount != value.EndMessageNumber - value.BeginMessageNumber + 1) throw new AggregateException($"序列号间隔[{value.BeginMessageNumber}-{value.EndMessageNumber}]与重传消息总数:{value.SerialCount}不符"); + if (value.SerialCount != value.EndMessageNumber - value.BeginMessageNumber + 1) throw new JT809Exception(JT809ErrorCode.IllegalArgument, $"序列号间隔[{value.BeginMessageNumber}-{value.EndMessageNumber}]与重传消息总数:{value.SerialCount}不符"); value.Time = reader.ReadUTCDateTime(); return value; } public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1300_0x1303 value, IJT809Config config) { - if (value.EndMessageNumber - value.BeginMessageNumber >= byte.MaxValue) throw new AggregateException("序列号间隔不能大于255"); + if (value.EndMessageNumber - value.BeginMessageNumber >= byte.MaxValue) throw new JT809Exception(JT809ErrorCode.IllegalArgument, "序列号间隔不能大于255"); value.SerialCount = (byte)(value.EndMessageNumber - value.BeginMessageNumber + 1); writer.WriteUInt16(RetranDataType); writer.WriteByte(value.SerialCount);