【发布时间】:2015-09-13 22:40:06
【问题描述】:
我在 OCaml 中编写了一个简单的非负数斐波那契函数,如果传入负数,我会引发异常。
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))
我如何断言这个异常?
【问题讨论】: