トップページ > プログラム > 2016年12月25日 > 8R6Ln00u

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

3 位/164 ID中時間01234567891011121314151617181920212223Total
書き込み数0000030000000010001100006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net

書き込みレス一覧

スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net
702 :デフォルトの名無しさん[sage]:2016/12/25(日) 05:17:09.80 ID:8R6Ln00u
 .netやJavaのTry文にはFinallyブロックは、なんであるんですか。
例外の有無にかかわらず確実に実行するとかの説明があるけど、
catchブロックを閉じた直後にFinallyブロックなんかなくても
同じではないんですか。
 Finallyブロックに囲まれたリストボックスへの項目の追加も、
Try文を終えた後のラベルの更新やテキストボックスのクリアの
いずれも、例外に関係なく実行してます。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim t1 As String = TextBox1.Text 'テキストボックスの文字列
Dim t2 As String = Nothing
Try
t2 = t1.Substring(0, 4) &
スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net
703 :デフォルトの名無しさん[sage]:2016/12/25(日) 05:18:07.48 ID:8R6Ln00u
なぜか途中で切れたので
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim t1 As String = TextBox1.Text 'テキストボックスの文字列
Dim t2 As String = Nothing
Try
t2 = t1.Substring(0, 4) & "-" & t1.Substring(7) 'テキストボックスの文字列を加工する
Catch ex As Exception
t2 = "例外が出た """ & t1 & """" '文字数が8文字に満たないと例外を捕まえる
Finally
ListBox1.Items.Add(t2) '加工した文字列をリストボックスの項目に追加する
End Try
Label1.Text = Now.ToString '項目を追加した日時でラベルの表示を更新する
TextBox1.Text = "" 'テキストボックスの文字列を消す
End Sub
スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net
704 :デフォルトの名無しさん[sage]:2016/12/25(日) 05:24:17.06 ID:8R6Ln00u
わかったぞReturn (Exit Sub)か?
スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net
719 :デフォルトの名無しさん[sage]:2016/12/25(日) 14:49:18.29 ID:8R6Ln00u
 まああくまでサンプルだしここでは単純にcatchは基底の例外クラスにしておいた。

 ところで「そこでは補足されず上位で処理される例外」の意味を理解しにくくてしばらく
考え込んだが、returnがあるなら、おそらくcatch句でthrowして、呼び出し元に制御が戻る
直前にfinallyに行くということを言ってるんだろうな。

 そして本題から外れるが、DBのレコードセット用語でのカーソルの意味って、カレントレコード
みたいな意味かな。
スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net
735 :デフォルトの名無しさん[sage]:2016/12/25(日) 18:46:08.93 ID:8R6Ln00u
>>731
funcA()内で、tryブロックに囲まれてないコード(ただし、囲まれていてもそれでcatch節で
例外を再投入の対象になるコードを除く)が、呼び出し元(procA)のcatch節まで飛ぶと思う
ので、それが「そこでは補足されず上位で処理される例外」の意味ですね。
スレ立てるまでもない質問はここで 144匹目 [無断転載禁止]©2ch.net
741 :デフォルトの名無しさん[sage]:2016/12/25(日) 19:34:59.82 ID:8R6Ln00u
まだ100%の正解とは言えなかったようで、こうなるな。

Try
例外の派生クラスCを発生するコード
Catch 例外の派生クラスA
処理
Catch 例外の派生クラスB
処理
Finally
処理
End Try

この場合Catchで捕まえる対象にはならない「例外の派生クラスC」の型の例外、それが「そこでは補足されず上位で処理される例外」てなわけだ。

以上、終了。


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