pad*_*pad 11
具体来说,您可以定义这样的值:
let undefined<'T> : 'T = failwith "Not implemented yet"
let stub1 (x : int) : float = undefined
let stub2 (x : 'T) : 'T = undefined
Run Code Online (Sandbox Code Playgroud)
请注意F#评估是严格的.如果绑定undefined到顶级值,它将在评估期间抛出异常.
更具体和.NET友好的方式
let undefined<'T> : 'T = raise (NotImplementedException())
Run Code Online (Sandbox Code Playgroud)
允许您跳过键入消息并仍然将此异常与catch块或堆栈跟踪中的其他异常区分开来.