まじかんと
@tnacigam
ふと思ったのだが、 instanceof で型を動的に調べるのはアンチパターンで、代はりに多態性を使へといふのなら、catch 文で例外の型を選別するのも良くないはずだね
2013-05-04 12:56:06
まじかんと
@tnacigam
@tnacigam ところで、検査例外の仕組みはどの型の例外を処理する必要があるか検査してくれるが、一般の instanceof による場合分けをする場合、どの型に関して場合分けをすべきなのか型システムは何も教へてくれない
2013-05-04 13:28:21
まじかんと
@tnacigam
@tnacigam では、例外の代はりに直和型あるいは列挙型を使ふとどうか。これなら、確かに外から場合分けを追加することができるが……
2013-05-04 13:38:10
まじかんと
@tnacigam
@tnacigam ある種のエラーは catch して処理するがその他のエラーはそのまま呼出元に伝播させる、といふ様なことは、検査例外の仕組みの中でうまく機能する。
2013-05-04 13:43:38
まじかんと
@tnacigam
@tnacigam しかし直和型や列挙型の場合、取りうる値の一部を除いたサブタイプを手軽に作れないと、「特定のエラーだけ呼出元に伝播させる」とかいったことがとてもやりにくい。
2013-05-04 13:44:31