【问题标题】:How to handle "Error in function boost::math::cyl_bessel_k<d>(d,d): numeric overflow"如何处理“函数 boost::math::cyl_bessel_k<d>(d,d) 中的错误:数值溢出”
【发布时间】:2013-08-19 01:07:17
【问题描述】:

我已经检查了boost docs,我知道这个错误是把0 作为第二个参数传递给boost::math::cyl_bessel_k 的结果,确实如此

  return (v == 0) ? policies::raise_overflow_error<T>(function, 0, pol)
     : policies::raise_domain_error<T>(
     function,
     "Got x = %1%, but we need x > 0", x, pol);

如果它收到了。

我是 98% 的 C++ 菜鸟。如何处理此错误以防止我的程序崩溃?

【问题讨论】:

    标签: c++ math boost error-handling bessel-functions


    【解决方案1】:

    嗯,显而易见的答案似乎是不传递 0,但如果这不可行,并且您可以接受函数失败,您可以捕获异常并以以下方式处理它似乎是对的。程序不会崩溃。

    这个tutorial 可能有助于更深入地解释你应该做什么。

    【讨论】:

    • 呃,天哪。在这里试图让它比平时更难。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多