如何将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?
答案 0 :(得分:4)
您可以使用sys.error(failureText)
,只会抛出RuntimeException
。否则,如果您想要选择另一个异常,或者如果错误没有传达意图,则抛出就可以了。
您也可以考虑assert
,assume
或require
(在Predef中定义)
当然,你可以放弃else
,但这是一个品味问题。