[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12279] Re: ズームイン Java での課題



高橋(徹)です。

   ""TAKAHASHI, Tomohiro" <t_takahashi@xxxxxxxxxxxxxx>"さんは書きまし
た:

>   以下、ズームインJavaでの課題を書いておきます。

>   [疑問]
>     以下の、Javaの検査例外に関する記事のURLは?
>       ■IBM developerWorksの記事「Javaの理論と実践:例外をめぐる議論」
http://www-06.ibm.com/jp/developerworks/java/040618/j_j-jtp05254.html
なお英語は以下URLです。英語題は"exceptions debate To check, or not to 
check?"でした。
http://www-128.ibm.com/developerworks/java/library/j-jtp05254.html

>       ■Bluce Eckelの記事 "Does Java need Checked Exception ?"
http://www.mindview.net/Etc/Discussions/CheckedExceptions
賛同はしませんが、Eckel氏の検査例外への反対内容を簡単にまとめると、
・Pythonは非検査例外しかないが十分うまくいっている。
・コンパイル時に検査するか実行時に検査するかの問題において、
 何でもコンパイル時に行った方がよいとは限らない
・Javaだけが検査例外を仕様化しているが、有効性は実証されていない
・多くの者が例外を飲み込むコードを書いてしまうような仕様は欠陥だ


>                class B extends A {
>                  public B() {
>                    this(10);
>                  }
>                  public B(int x) {
>                    super();
>                  }
>                }
この部分をバイトコードで見ると、
public B();
  Code:
   0:   aload_0
   1:   bipush  10
   3:   invokespecial   #1; //Method "<init>":(I)V
   6:   return

public B(int);
  Code:
   0:   aload_0
   1:   invokespecial   #2; //Method A."<init>":()V
   4:   return

となっており、B()の中ではB(int)コンストラクタを呼んでいます。
B(int)コンストラクタではAクラスのA()コンストラクタを呼んでいます。

--
TAKAHASHI,Toru
torutk@xxxxxxxxxxxx