参考 例外:failwith関数 例外:invalidArg関数 例外:raise関数とreraise関数 FailureException F#での略記:Failure 一般的な例外を表す 発生する例 try failwith "sippai" with | Failure(msg) -> printfn "%s" msg InvalidArgumentException 正しくない入力を表す 発生する例 try invalidArg "param" "error-msg" with | :? System.ArgumentException as e -> printfn "%s" e.Message DivideByZeroException 整数を0で割った際に発生する例外 発生する例 1/0 1u/0u 浮動小数の場合はこの例外は発生せず、次の値が返る 1.0f/0.0f float32 = infinityf 1.0/0.0 float = infinity NullReferenceException 期待しないnull値 発生する例 (null : string).Length 例外を扱う関数 failwith : string -> 'a メッセージを引数として与え、FailureExceptionを発生させる failwithf : Printf.StringFormat<'a,'b> -> 'a 書式付きメッセージを引数として与え、FailureExceptionを発生させる invalidArg param errormsg パラメータとエラーメッセージを引数として与え、System.ArgumentExceptionを発生させる raise : System.Exception -> 'a System.Exceptionかその派生クラスの値を引数として与え、 例外を発生させる reraise () 発生した例外を再度伝達する