我有以下代码行
var input = "<x";
var ms = new MemoryStream();
var test = System.Text.Encoding.UTF8.GetBytes(input);
ms.Write(test, 0, test.Length);
var sut = new Web.Transpiler.Transpiler();
var rs = await sut.TranspileAsync(ms);
最后一行抛出一个FormatException,堆栈中包含以下内容。
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Byte.Parse(String s, NumberStyles style, NumberFormatInfo info)
at MyProject.Transpiler.<TranspileAsync>d__4.MoveNext()
in C:\Users\thala\Documents\Projects\my-project\MyProject\Transpiler\Transpiler.cs:line 22
有人能告诉我我做错了吗?
答案 0 :(得分:2)
答案 1 :(得分:2)
看起来它正在尝试将您的输入转换为数字,我不确定Transpiler是什么,因为堆栈跟踪似乎指向您的代码,但它正在尝试将String转换为数字。< / p>
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Byte.Parse(String s, NumberStyles style, NumberFormatInfo info)
at MyProject.Transpiler.<TranspileAsync>d__4.MoveNext()
看起来有Byte.Parse
或类似的代码。
我建议您查看Visual Studio的异常设置,并将“Break on CLR Exceptions”设置为“ON”,以使调试器在问题上突破。