2011-10-19 24 views
1

怎么可能到F#failwith例外转换为斯卡拉。 我有以下代码:转换F#failwith Scala的

let rec getAny text = 
    let FailureText = "Text." 
    if test then failwith FailureText 
    else text 

只要将类似下面的异常?

throw new IllegalArgumentException("Text."); 

在F#中它会抛出一个Microsoft.FSharp.Core.FailureException。 你会在Scala中扔什么?只是一个普通的java.lang.Exception或RuntimeException?

回答

4

您可以使用sys.error(failureText),它只是抛出一个RuntimeException。否则,如果你想选择另一个异常,或者如果错误没有传达意图,则抛出罚款。

您也可以考虑assertassumerequire(在PREDEF定义)

当然,您可以用else免除,但是这是一个品味问题。