参考
例外: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 ()
発生した例外を再度伝達する