トップページ > プログラム > 2014年04月05日 > 8rXsI/QK

書き込み順位&時間帯一覧

14 位/203 ID中時間01234567891011121314151617181920212223Total
書き込み数0000050000000000000000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド168★★

書き込みレス一覧

★★Java質問・相談スレッド168★★
388 :デフォルトの名無しさん[sage]:2014/04/05(土) 05:14:49.89 ID:8rXsI/QK
コマンドライン引数から受け取った文字列をURIとして処理しようとしたんだけど
URIとして認められない文字列を使ってjava.net.URIのインスタンスを生成しようとすると問答無用でコマンドプロンプトまでもが落ちるんだけど、何で?


コード的には
class Test {
 public void main(String[] args) throws java.lang.Exception {
  URI uri = new URI(args[0]);
  // URI uri = URI.create(args[0]); // こっちでも落ちる
 }
}

コマンドラインから

これは問題なく処理される
java Test http://2ch.net/

これが問答無用でコマンドプロンプトまでもが落ちる
java Test hoge

ちなみにargs[0]じゃなくString s = "hoge"; とか 直接 "hoge" を渡してやった場合は落ちなかった
"hoge"の入力された args[0] を渡すと落ちる

原因よくわかんない
★★Java質問・相談スレッド168★★
389 :デフォルトの名無しさん[sage]:2014/04/05(土) 05:17:11.57 ID:8rXsI/QK
もう一つおかしいといえば
> String s = "hoge"; とか 直接 "hoge" を渡してやった場合は落ちなかった
これ
本来URIとして無効な文字列渡したのだから例外が発生してもいいのに例外が発生しなかった

jdk1.7.0_51
★★Java質問・相談スレッド168★★
390 :デフォルトの名無しさん[sage]:2014/04/05(土) 05:21:47.27 ID:8rXsI/QK
java.net.URIじゃなくjava.net.URLを使ったら例外メッセージは出たけど、やはりコマンドプロンプトが落ちた
出た例外メッセージはこれ

Exception in thread "main" java.net.MalformedURLException: no protocol: hoge
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at Test.main(Test.java:16)
★★Java質問・相談スレッド168★★
391 :デフォルトの名無しさん[sage]:2014/04/05(土) 05:26:27.90 ID:8rXsI/QK
>>390のこの例外自体は正常な動作なのに、その後すぐ何故かコマンドプロンプトごと落ちた。
★★Java質問・相談スレッド168★★
392 :デフォルトの名無しさん[sage]:2014/04/05(土) 05:28:15.17 ID:8rXsI/QK
ごめん、ちょっと違ったURLやURIが悪いんじゃなくてargs[0]に何か問題があるらしい
System.out.println(args[0].length());
をしただけで落ちた・・・


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。