※ ChatGPTを利用し、要約された質問です(原文:for文についての質問)
for文についての質問
このQ&Aのポイント
for文で処理を終えた後にSysoutが表示されず、それ以下の処理が行われないので困っています。なぜかfor文を終えた後にfinallyまで処理が飛んでるように思います。
上記のソースコードについて、for文の処理が終わった後にSysoutが表示されず、それ以下の処理が行われない問題が発生しています。そのため、for文の後にfinallyまで処理が飛んでいる状況です。
質問のソースコードにおいて、for文の処理が終わった後にSysoutが表示されず、それ以下の処理が行われない問題が発生しています。そのため、for文の後にfinallyまで処理が飛んでいる状況の原因を教えていただきたいです。
for文についての質問
いつもお世話になっております。
本日はfor文のループについて確認したい事があり質問させて頂きます。
public class SearchAction extends DispatchAction {
/** ロガー定義 */
private Log log = LogFactory.getLog(this.getClass());
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 開始ログ
log.trace("[START]" + request.getSession().getId());
SearchForm sForm = (SearchForm) form;
DataSource ds = getDataSource(request);
Connection conn = null;
sForm.initialize();
try {
conn = ds.getConnection();
ServletContext sc = getServlet().getServletContext();
// 路線リストを取得し、アプリケーションスコープに格納
RosenBean rb = RosenBean.getInstance();
rb.load(conn);
rb.loadToApp(sc);
// INT xにサイズ分の数字を代入
int x = rb.size();
// サイズ分の箱を用意
LabelValueBean[] rosenList = new LabelValueBean[x];
// サイズ分ループ処理
for (int i = 0; i <= rb.size(); i++) {
//System.out.println((LabelValueBean) rb.get(i));
rosenList[i] = (LabelValueBean) rb.get(i);
System.out.println(rosenList[i]);
System.out.println(i);
sForm.setRosenList(rosenList);
System.out.println(sForm.getRosenList());
}
System.out.println("ここが通らない");
// 条件リストを取得し、アプリケーションスコープに格納
OtherBean ob = OtherBean.getInstance();
ob.load(conn);
ob.loadToApp(sc);
} finally {
if (conn != null)
try {
conn.close();
System.out.println("コネクションを閉じてみます");
} catch (Exception e) {
System.out.println("例外内容" + e.getMessage());
} finally {
conn = null;
}
上記のソースについてですが、for文で処理を終えた後のSysoutが表示されずそれ以下の
処理が行われないので困っております。
しかし、それ以降のfinallyの中のSysoutは表示され(これは当たり前だと思いますが)
なぜかfor文を終えた後にfinallyまで処理が飛んでるように思うのですが、これはなぜなんでしょうか
教えて頂ければ幸いです。
宜しくお願い致します。
お礼
早速のお返事感謝しております。 確認させて頂きます。 単純なミスでのご質問申し訳ありませんでした。 ありがとうございました。