在.NET方法中经常抛出一般的错误,例如
int.Parse("test")
使用此消息抛出异常:
输入字符串的格式不正确。
现在它可以为很多人省下很多麻烦,如果它只是有参数值来帮助调试更容易:
输入字符串" test"格式不正确。
这似乎是一件很自然而又容易的事情,但是.NET并没有在许多地方做到这一点,例如解析。这样做是否有任何原因或概念上的问题,或者它只是一个缺失的功能"?
答案 0 :(得分:3)
我怀疑其原因主要是出于安全原因。在返回的消息中显示/呈现要解析的文本的一些问题是(但不限于)
此外,正在解析的值由调用者提供,这使他们可以选择是否最好记录内容 - 它不是int.Parse()
的位置来返回异常消息中的值
总而言之,在没有最初提供的价值的情况下显示简明信息是MS部分明智的决定,可以使我们远离自己并遵循安全最佳实践。