众所周知,大量标准OCaml函数和许多常见的stdlib和第三方库通常都包含可以抛出异常的函数。处理它可能非常棘手,特别是如果大多数程序是以功能方式编写的。是否有任何方法或工具可以通过审核来源列出/捕获所有抛出异常的函数?
我知道的最佳解决方案是使用ocp-grep
:
ocp-grep Pervasives.raise
有人试图在https://github.com/OCamlPro/ocp-analyzer建立一个异常的静态分析器。但是,上次我检查它甚至在非常简单的程序上崩溃,并且存储库包含在一个提交中,我会说它可能仅作为编写适当分析器的起点。