Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

IFは書き換えない・例外処理・ParseExceptionを捕捉してRuntimeExceptionで例外をラップ・例外を握りつぶさずcauseとして設定

こんにちは
課題があるのですが、
課題の修正点を改善できません。
1.IFは書き換えないとは?
2.下記で例外ハンドリングはできているかの?
3.下記でParseExceptionを捕捉してRuntimeExceptionで例外をラップして投げられているのか?
4.下記で例外を握りつぶさずcauseとして設定されているのか?

// FIXME IFは書き換えない 要 例外ハンドリング
// XXX RuntimeExceptionで例外をラップして投げましょう
/**
* 文字列から日付に変換
*
* @param yyyyMMdd
* 日付(yyyyMMdd)
* @return 日付
*/
public Date parseDate(String yyyyMMdd) {
try {
sdf = new SimpleDateFormat("yyyy'年'MM'月'dd'日'");
// parseメソッドでDate型に変換
date = sdf.parse(yyyyMMdd);
calendar.setTime(date);
return date;
// ParseExceptionを捕捉して非チェック例外RuntimeExceptionでラップして投げる
// 例外を握りつぶしてはだめ。causeとして設定すること
} catch (ParseException e) {
e.printStackTrace();
throw new RuntimeException(e);
}

}

// FIXME IFは書き換えない 要 例外ハンドリング
// XXX RuntimeExceptionで例外をラップして投げましょう
/**
* 文字列から日付に変換する(format付)。
*
* @param dateString
* 日付に変換する文字列
* @param format
* 日付フォーマット(yyyyMMddHHmmssなど)
* @return
*/
public Date parseDate(String dateString, String format) {
try {
sdf = new SimpleDateFormat(format);
date = sdf.parse(dateString);
calendar.setTime(date);
return date;
// ParseExceptionを捕捉して非チェック例外RuntimeExceptionでラップして投げる
// 例外を握りつぶしてはだめ。causeとして設定すること
} catch (ParseException e) {
e.printStackTrace();
throw new RuntimeException(e);
}

}

causeとして設定とはもしかしてこういうことでしょうか。
} catch (ParseException e) {
RuntimeException Runtime = new RuntimeException();
Runtime.initCause(e);
Runtime.printStackTrace();
(Runtime.getCause()).printStackTrace();
}

どなたかこの4点について記述例のご指南をしていただけないでしょうか。
宜しくお願いいたします。

7

回答

8304

閲覧

7件の回答

評価

0

ガイドライン読んだ?

評価

0

一応さらっと読みましたけど、
私、やっちゃいましたか?

評価

0

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1020101490

解決しなかったんでしょうかね?

評価

0

マルチポストはマナー違反ですから今度からやめましょうね。

評価

0

・マルチポスト
・課題を貼り付けて「分かりません」
二点目はそのまんまじゃないけど、「記述例」ってのはほとんど答えと一緒だろ。

評価

0

こういう質問する人って、
技術職で食っていけるわけないから、
さっさと進路(人生計画?)練り直した方がいいと思う。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。