如何在卤化物中处理运行时的错误?

How to handle errors at runtime in halide?

在提前编译的情况下,如何让 Halide 抛出可以在更高调用堆栈处理的异常? 例如,当在错误的位置访问输入图像时。

您可以调用 halide_set_error_handler 安装您自己的错误处理例程。 (或者如果在支持弱链接的平台上直接覆盖 halide_error。)您自己的错误处理程序可以抛出异常。它不是 Halide 中测试最多的部分,但我们确实打算允许错误例程抛出一个异常,该异常在调用堆栈上比 Halide 编译代码的调用更高处处理。所有内存分配等都应通过作用域析构函数释放。