私は次のようなF#関数を持っています:
open System.IO
open Microsoft.FSharp.Control.CommonExtensions
let rec copyData (ins:Stream) (outs:Stream) = async {
let! bytes = ins.AsyncRead(1)
do! outs.AsyncWrite(bytes)
return! moveData ins outs
}
ins
ストリームが最後に到達すると、例外がスローされますAtEndOfStream
。したがって、呼び出し元の関数でそれをキャッチする必要があります。ストリームが現在終了していることを検出して、この例外を防ぐにはどうすればよいですか?