• ベストアンサー

例外処理のフローチャートの記述方法

例外処理のフローチャートを記述したいのですが、良い記述方法はないでしょうか? try、catch、throwの記述方法等教えていただければ幸いです。 #JISで決められている図でtry、catch、throwに該当する図はないと思います。 #わかりやすければ、独自の図などでも構いませんので、アドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

普通オブジェクト指向言語にフローは使わないんですけど、どうしてもフローで書く必要があるのならってことで。 tryブロックとctachブロックを「開いたサブルーチン」として捉えればブロックをサブルーチン記号で記述できます。 throwは「関数からの脱出」であることにかわりはありませんからreturnと同じ書き方でいいのではないでしょうか。 throwとcatchの関係はフローで書き表すことが困難(フローは関数ないロジックを記述するもので、関数間の関連を記述するのに向いていないため)ですからモジュール(関数)関連図などを別途要するべきでしょう。

silicon
質問者

お礼

返事が遅くなって申し訳ありません。 大変参考になりました。 ありがとうございます。 # 確かに普通オブジェクト指向言語にフローは使わないですよね # 書かないといけない状況なんですが、歯がゆい思いをしています。

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

フローチャートでは、例外にあたる記法は無いですね。 また、フローチャートなんかを使うところを見ると、それを読み書きする人たちは、あまり、 オブジェクト指向に馴染みがないのでしょうね。 「例外の送出」は、つまるところ「大域ジャンプ」ですから、フローチャートに慣れた人たちが 読むのであれば、throw を goto で、catch をラベルで書くのが分かりよいかも。 宛先のラベルの替わりに例外クラスを記述するようにして。 try だけは、書きようが無いですね。私は、コメント扱いにするのが良いと思います。 ひとつの処理ブロックとして別紙に書き表すというのでも良いのかもしれませんが、 try ブロックを狭く設計されちゃうと、却って読みづらくなりそうなので。

silicon
質問者

お礼

ご回答、ありがとうございました。 参考にさせて頂きます。 なんかバカにされているような気がするの言っておきますが、オブジェクト指向に 馴染みがないわけではありません!フローチャートを書くことは仕様で決まってい るので。。。

関連するQ&A

専門家に質問してみよう