如何改写这段代码将所有的错误信息都记录下来并输出。
时间: 2024-10-13 11:14:27 浏览: 7
如果你想改写这段代码以便把所有错误信息详细记录并输出,可以创建一个新的方法专门用于收集和显示错误信息,例如:
```csharp
private void RecordAndDisplayError(string modelName, string errMsg, int minValue, int maxValue, int actualValue)
{
CMClient.gSdifrmMain.addMsg($"Recipe参数 {modelName} 不符合 RMS 注册值范围:RMS 注册的最小值为:{minValue}, RMS 注册的最大值为:{maxValue}, 机台上抛的实际参数值为:{actualValue}", "ERROR");
MessageBox.Show($"Recipe参数 {modelName} 不符合 RMS 注册值范围: RMS 注册的最小值为:{minValue}, RMS 注册的最大值为:{maxValue}, 机台上抛的实际参数值为:{actualValue}");
CMRMSCommon.WriteToLog($"Recipe参数 {modelName} 不符合 RMS 注册值范围:RMS 注册的最小值为:{minValue}, RMS 注册的最大值为:{maxValue}, 机台上抛的实际参数值为:{actualValue}");
}
// 修改原有代码块,在遇到错误条件时调用这个新方法
...
if (!Int32.TryParse(model.Val, out val))
{
string error = $"无法解析 Recipe 参数 {model.No} 的值: {model.Val}";
RecordAndDisplayError(model.No, error, model.Min, model.Max, val);
}
else if (model.Min > val || val > model.Max)
{
RecordAndDisplayError(model.No, $"参数 {model.No} 超出范围: {val} (不在 [{model.Min}, {model.Max}] 内)", model.Min, model.Max, val);
}
```
这样,每次遇到错误情况,都会调用 `RecordAndDisplayError` 方法,将错误信息、模型编号、预期范围以及实际值一并记录并展示。这使得错误管理更清晰易读。
阅读全文