gpt4 book ai didi

ocaml - 在 Ocaml 中测试异常引发

转载 作者:行者123 更新时间:2023-12-02 21:12:43 25 4
gpt4 key购买 nike

我在 OCaml 中编写了一个简单的非负数 Fibonacci 函数,如果传入负数,我会引发异常。

let rec fib (n:int) : int =
match n with
| a when a < 0 -> invalid arg ("Positive numbers only")
| i when i < 2 -> n
| _ -> fib (n - 1) + fib(n - 2)

let _ = assert (fib(-1))

该函数非常初级(这是我的第一个 OCaml 程序),但我的问题涉及测试执行 fib(-1) 时是否引发异常。

let _ = assert (? = fib(-1))

如何断言此异常?

最佳答案

@SteveVinoski 的回答非常好,但显然这是一个家庭作业问题,而不是一个真正的问题:-)

try ... with 语句是 OCaml 中处理异常的部分。这就是您需要用来验证是否引发异常的方法。您可以使用它来编写您自己的 assert_raises 版本。

关于ocaml - 在 Ocaml 中测试异常引发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32555229/

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