将F#failwith转换为Scala

时间:2011-10-19 08:02:34

标签: scala exception-handling f#

如何将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?

1 个答案:

答案 0 :(得分:4)

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

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

当然,你可以放弃else,但这是一个品味问题。