0
當從二進制文件中讀取字符BinaryReader
時,我經常遇到無法讀取爲字符的格式錯誤的數據。我得到了一個ArgumentException
拋出。檢測無效字符
有什麼辦法,我期待下一個角色會拋出異常所以不是試圖讀取它(這會拋出異常),才能對付它沒有昂貴的操作?
BinaryReader.ReadChar();
哪些輸入導致ArgumentException
拋出?
當從二進制文件中讀取字符BinaryReader
時,我經常遇到無法讀取爲字符的格式錯誤的數據。我得到了一個ArgumentException
拋出。檢測無效字符
有什麼辦法,我期待下一個角色會拋出異常所以不是試圖讀取它(這會拋出異常),才能對付它沒有昂貴的操作?
BinaryReader.ReadChar();
哪些輸入導致ArgumentException
拋出?
啊,只是想通了:
char next = (char)reader.ReadByte();
if (Char.IsSurrogate(next)) {
return "Non-valid char value";
}
隨意張貼一個更好的解決方案。
[文檔](https://msdn.microsoft.com/en-us/library/system.io.binaryreader.readchar(V = vs.110)的.aspx)建議使用'ReadChars'代替。 – juharr
我知道,但在閱讀單個字符時拋出相同的異常... – Karlovsky120