ファイルが既に存在していたら?

展開の時の難関にさしかかりました。それは「展開に失敗した時の処理」です。重要なのは、ユーザに選択を迫るのか、何回例外が発生するのか、をよく考えてどのような処理を行うか決めることです。

  • ファイルが存在しない場合
    • ファイルの書き込みに成功した場合(恐らく全ファイル数)ー>正常終了
    • ファイルの書き込みに失敗した場合(0か全ファイル数)ー>それを報告して終了
  • ファイルが存在する場合、上書きかあきらめるかを選ばせる(数ファイル)
    • 上書きを選んだ場合
      • ファイルの削除に成功した場合ー>上のファイルが存在しない場合へ
      • ファイルの削除に失敗した場合ー>それを報告して終了

問題は一番下の場合、シートダイアログで上書きするかを選んだと思ったらまたシートダイアログが出てきてしまうこと。これはうざそうだ。なので、失敗の報告は最後にまとめて行うことを考える。