>>40
ファイルの存在チェックくらいするだろうけどまぁいいや。

その辺を実行時エラーで捕まえるのはいいとしても、
責任?はもう少し考えた方がいいと思う。

例えば分散トランザクションとか、2度以上に渡って段階的にロールバックが必要で、
それぞれ別の階層で行われるような場合とか。

責任を与えるとしたらOnErrorが書いてあるところの責任はエラー情報の収集、
それ以外はそれぞれの処理に合わせて臨機応変になると思うよ。