- PR -

DataInputStream実行時の処理落ちについて

投稿者投稿内容
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2006-11-09 11:59
現在,javaの勉強中で以下の問題について悩んでおります。

DataInputStream実行時に処理が落ちてしまうのですが,
例外時のログも出力されず原因が掴めません。
(Tomcatが出力するログにもはき出されていません)

対策方法ご存知のかた,ご教授お願いできませんでしょうか。

【ソース】
------------------------------------------------------
url = new URL("http://serv:1000/test_site/TEST") ;
uc = ((HttpURLConnection)(url.openConnection()));

uc.setRequestMethod("POST");
uc.setDoOutput(true);
uc.setDoInput(true);

// 問題のstep
dis = new DataInputStream(uc.getInputStream());

・(省略)
} catch (IOException e){
new CombineException("", "", e); // 例外ログ出力

} catch (Exception ex) {
new CombineException("", "", ex);
}
-------------------------------------------------------

j2sdk1.4.2_10
tomcat5.0
winXP
どせい
大ベテラン
会議室デビュー日: 2006/10/25
投稿数: 145
投稿日時: 2006-11-09 12:43
[quote]
ひろさんの書き込み (2006-11-09 11:59) より:
現在,javaの勉強中で以下の問題について悩んでおります。

DataInputStream実行時に処理が落ちてしまうのですが,
例外時のログも出力されず原因が掴めません。
(Tomcatが出力するログにもはき出されていません)

対策方法ご存知のかた,ご教授お願いできませんでしょうか。

【ソース】
------------------------------------------------------
url = new URL("http://serv:1000/test_site/TEST") ;
uc = ((HttpURLConnection)(url.openConnection()));

uc.setRequestMethod("POST");
uc.setDoOutput(true);
uc.setDoInput(true);

// 問題のstep
dis = new DataInputStream(uc.getInputStream());

・(省略)
} catch (IOException e){
new CombineException("", "", e); // 例外ログ出力

} catch (Exception ex) {
new CombineException("", "", ex);
}
-------------------------------------------------------

j2sdk1.4.2_10
tomcat5.0
winXP
[/quote]
その変なCombineException投げてるのをやめたらどうなるかくらいは確認してるんだよな?

言われてみると確かに投げてないw
「なんだこの変な例外」って思ったところで、その後じっくり読んでなかった。すまん。

[ メッセージ編集済み 編集者: 未記入 編集日時 2006-11-09 13:56 ]
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2006-11-09 13:06
てゆうか、そもそも投げてない!
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2006-11-09 13:06
[/quote]
その変なCombineException投げてるのをやめたらどうなるかくらいは確認してるんだよな?
[/quote]

確認済みです。
catch文まで処理が来ていません。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-11-09 13:29
「処理が落ちる」とはどのようなことを指していますか?
書き込みを見ると例外が発生しているというわけではないようですが…
Kissingerさんが指摘しているように例外を「投げていない」ので、実際には例外を
握りつぶしてしまっていて、例外が発生していないと勘違いしているのではないでしょうか。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2006-11-09 13:43
引用:

ひろさんの書き込み (2006-11-09 11:59) より:
} catch (Exception ex) {
new CombineException("", "", ex);
}


わはははは。
これは、例外が作られるだけでKissingerさんが書かれている通り「投げられてない」状態ですよ。
(昔、自分でもやってしまって「なぜだろう?」と首ひねったのを思い出して笑ってしまいました。)

まず、正しくthrowするようにしましょうね。
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2006-11-09 14:03
引用:

冬寂さんの書き込み (2006-11-09 13:43) より:
引用:

ひろさんの書き込み (2006-11-09 11:59) より:
} catch (Exception ex) {
new CombineException("", "", ex);
}


わはははは。
これは、例外が作られるだけでKissingerさんが書かれている通り「投げられてない」状態ですよ。
(昔、自分でもやってしまって「なぜだろう?」と首ひねったのを思い出して笑ってしまいました。)

まず、正しくthrowするようにしましょうね。



返信ありがとうございます。
} catch (Exception ex) {
System.out.println("test");
new CombineException("", "", ex);
}

上記debug方法で試してみましたが,catch文まで処理が来ていません。

new CombineException("", "", ex);
は,プロジェクトのお決まり?の様なもので,catch部に必ず記述しております。
実際に他のケースで例外をキャッチした場合は,ログが出力されています。












uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-11-09 14:09
引用:

ひろさんの書き込み (2006-11-09 14:03) より:
new CombineException("", "", ex);
は,プロジェクトのお決まり?の様なもので,catch部に必ず記述しております。
実際に他のケースで例外をキャッチした場合は,ログが出力されています。


もしかしてコンストラクタにログ出力処理が仕込んであるのですか?
だとしたらひどい設計ですね

それで、例外が発生していないとしたら具体的に何が発生しているのですか?

スキルアップ/キャリアアップ(JOB@IT)