例外 (panic) 以外ないね
エラーが発生しうる処理はデストラクタが呼ばれる前にやるべきかな
RustでもBufWriterなんかがスコープアウトでdrop呼び出される前に明示的にflush必要だったりする (drop内のcloseで発生するエラーは無視される)