gpt4 book ai didi

C# 错误处理 (NaN)

转载 作者:太空狗 更新时间:2023-10-30 00:02:12 24 4
gpt4 key购买 nike

我使用 Patrick Lundin 的 Math 免费解析器在 C# 中编写了简单的数学函数绘图器。

现在,我的代码片段是这样的:

for (float value = -xaxis; value < xaxis; value += konst)
{
hash.Add("x", value.ToString());
double result = 0;
result = parser.Parse(func, hash);...

这非常适用于定义在实数上的函数。但是,当我想解析仅在 R+ 上定义的函数时,例如 ln(x),解析器自然会将 NaN 返回结果。

现在,我尝试通过异常处理来处理它,如下所示:

for (float value = -xaxis; value < xaxis; value += konst)
{
hash.Add("x", value.ToString());
double result = 0;
try{
result = parser.Parse(func, hash);
}
catch {
count = false; //just a variable I am using to draw lines
continue; // I hoped to skip the "wrong" number parsed until I came to R+ numbers
}...

但这不起作用,在调试时,catch 根本不执行。

拜托,我做错了什么?谢谢。

最佳答案

您说解析器 返回NaN。这不是异常,这是 try/catch 所处理的。所以 catch block 也不异常(exception),因此它永远不会运行。

相反,您应该像这样针对 NaN 测试您的结果:

if(double.IsNaN(result))...

关于C# 错误处理 (NaN),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3981640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com