인덱스 범위 초과 버그 (1)
2394 단어 bug
CustomerMessage:999999 - 。
ExceptionID:ab4fde6a-d4a6-4ba0-8148-26e494ee8be3 Data:TtrackID>>Better.Infrastructures.Log.TrackID Better.Infrastructures.Log.AppException: ---> System.ArgumentOutOfRangeException: 。 。 : index System.ThrowHelper.ThrowArgumentOutOfRangeException() System.Collections.Generic.List`1.RemoveAt(Int32 index) System.Collections.Generic.List`1.Remove(T item) Better517Na.InterB2CFirstAnalyzePro.AnalysisProcess.MainProcess.TaskProcess(Object objTask) MainProcess.cs: 118 --- ---
코드를 따라가면 다음과 같은 문장이 나온다. dealingTaskList는List
dealingTaskList.Remove(taskID);
아무리 봐도 문제가 생기지 않지만, 결과적으로 문제가 생겼다. 그래서 나는 아래의 이것으로 바꾸었다
if (dealingTaskList != null && dealingTaskList.Exists(sa => sa == taskID))
{
dealingTaskList.Remove(taskID);
}
결과적으로 여전히 잘못 보고하여 정말 방법이 없으니, 어쩔 수 없이 일지를 적어서 이곳에 나타났는지 아닌지를 볼 수밖에 없다.그런데 중간에 그들이 라인을 틀어서 한 것 같아서 다중 라인에 문제가 생긴 건 아닐까요?그래서 나는 코드를 아래와 같이 바꾸었다.만일을 방지하기 위해서 나는 그래도 일지를 기록할 것이다.
lock (lockObj)
{
if (dealingTaskList != null && dealingTaskList.Exists(sa => sa == taskID))
{
temp += "[ex ]";
dealingTaskList.Remove(taskID);
temp += "[ex ]";
}
else
{
temp += "[ex ]";
}
}
지금까지 상술한 버그가 발생하지 않았다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
useState 버그 파트 I: 예기치 않은 상태 업데이트.이 질문을 명심하십시오. 이 useState 버그 시리즈 파트에서는 useState의 가장 일반적인 문제와 해결 방법에 대해 이야기하겠습니다. 이 작은 앱의 예를 들어 보겠습니다. 이것은 우리가 시연을 위해 사용할 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.