2011-10-19 5 views
1

F#failwith例外をScalaにどのように変換することが可能ですか?ただ、以下のような例外をスロー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がスローされます。それ以外の場合は、別の例外を選択したい場合、またはエラーが意図を伝えない場合はthrowを正常に行います。

またassertassumeまたはrequire(Predefで定義されている)

を考慮することができるそしてもちろん、あなたはelseで済ますことがあり、これは好みの問題です。

関連する問題