例外の種類と関連する関数

基本的な例外と例外を扱う関数
	参考
            例外: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 ()
                発生した例外を再度伝達する