tk-engineering.com Technical blog

To explore strange new systems.
To seek out new bugs and new coding horrors.
To boldly go where no man has not wanted to go before.
Try-Catch のネストに関するメモ
こんなネストを書くのは如何かと思いながらも、こんなコード。
[VB.NET]
    Sub Main()
        Try
            Try
                Throw New ApplicationException("test")
            Catch ex As Exception
                Console.WriteLine("Caught: Level 2")
                Console.WriteLine(ex.Message)
            End Try
            Console.WriteLine("End of normal line of Level 1")
        Catch ex As Exception
            Console.WriteLine("Caught: Level 1")
            Console.WriteLine(ex.Message)
        End Try
        Console.WriteLine("Hit any key...")
        Console.ReadKey()
    End Sub

で、コレの結果は
Caught: Level 2
test
End of normal line of Level 1
Hit any key...

Exceptionは握り潰されました。
じゃぁこれは?
    Sub Main()
        Try
            Try
                Throw New ApplicationException("test")
            Catch ex As Exception
                Console.WriteLine("Caught: Level 2")
                Console.WriteLine(ex.Message)
                Throw '<-これを追加
            End Try
            Console.WriteLine("End of normal line of Level 1")
        Catch ex As Exception
            Console.WriteLine("Caught: Level 1")
            Console.WriteLine(ex.Message)
        End Try
        Console.WriteLine("Hit any key...")
        Console.ReadKey()
    End Sub

結果は…
Caught: Level 2
test
Caught: Level 1
test
Hit any key...

こっちはExceptionが伝播しました。

どっちが欲しいのかは状況によって代わるので、きちんと理解しておかないと後で辛いと。
| tkinugaw | .NET | 13:36 | comments(0) | trackbacks(0) |









http://blog.tk-engineering.com/trackback/935393
   1234
567891011
12131415161718
19202122232425
2627282930  
<< September 2010 >>
# RECOMMEND
# RECOMMEND
ピープルウエア 第2版 − ヤル気こそプロジェクト成功の鍵
ピープルウエア 第2版 − ヤル気こそプロジェクト成功の鍵
トム・デマルコ, ティモシー・リスター, 松原 友夫, 山浦 恒央
# RECOMMEND
コンサルタントの秘密―技術アドバイスの人間学
コンサルタントの秘密―技術アドバイスの人間学
G.M.ワインバーグ,木村 泉,ジェラルド・M・ワインバーグ
# RECOMMEND
プログラミングの心理学―または、ハイテクノロジーの人間学
プログラミングの心理学―または、ハイテクノロジーの人間学
ジェラルド・M.ワインバーグ, 木村 泉, 角田 博保, 久野 靖, 白浜 律雄
# RECOMMEND
ソフトウェア開発のダイナミズム
ソフトウェア開発のダイナミズム
ジム マッカーシー, Jim McCarthy, 三浦 明美, 福崎 俊博
# RECOMMEND
熊とワルツを - リスクを愉しむプロジェクト管理
熊とワルツを - リスクを愉しむプロジェクト管理
トム・デマルコ, ティモシー・リスター, 伊豆原 弓
# RECOMMEND
人月の神話―狼人間を撃つ銀の弾はない
人月の神話―狼人間を撃つ銀の弾はない
Jr.,フレデリック・P. ブルックス, Frederick Phillips,Jr. Brooks, 滝沢 徹, 富沢 昇, 牧野 祐子
# RECOMMEND
Code Complete第2版〈上〉―完全なプログラミングを目指して
Code Complete第2版〈上〉―完全なプログラミングを目指して
スティーブ マコネル, Steve McConnell, クイープ
# RECOMMEND
Code Complete第2版〈下〉―完全なプログラミングを目指して
Code Complete第2版〈下〉―完全なプログラミングを目指して
スティーブ マコネル, Steve McConnell, クイープ
# RECOMMEND
デッドライン―ソフト開発を成功に導く101の法則
デッドライン―ソフト開発を成功に導く101の法則
トム デマルコ, Tom DeMarco, 伊豆原 弓
# RECOMMEND
新訳 ソフトウェアプロジェクトサバイバルガイド
新訳 ソフトウェアプロジェクトサバイバルガイド
スティーブ マコネル, Steve McConnell, アルテアジャパン, 久手堅 憲之
# RECOMMEND
ソフトウエア開発 55の真実と10のウソ
ソフトウエア開発 55の真実と10のウソ
ロバート・L・グラス, 山浦 恒央
# RECOMMEND
ソフトウェア開発201の鉄則
ソフトウェア開発201の鉄則
アラン・M. デービス, Alan M. Davis, 松原 友夫
# RECOMMEND
リファクタリング―プログラムの体質改善テクニック
リファクタリング―プログラムの体質改善テクニック
マーチン ファウラー, Martin Fowler, 児玉 公信, 平澤 章, 友野 晶夫, 梅沢 真史
# RECOMMEND
Joel on Software
Joel on Software
Joel Spolsky, 青木 靖
# RECOMMEND
デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか
デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか
エドワード・ヨードン, 松原 友夫, 山浦 恒央
# RECOMMEND
# RECOMMEND
# RECOMMEND
# RECOMMEND
プログラミングMicrosoft ADO.NET
プログラミングMicrosoft ADO.NET
David Sceppa, 日本ユニテック
# RECOMMEND
# RECOMMEND
デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか
デスマーチ 第2版 ソフトウエア開発プロジェクトはなぜ混乱するのか
エドワード・ヨードン, 松原 友夫, 山浦 恒央
# RECOMMEND
ライト、ついてますか―問題発見の人間学
ライト、ついてますか―問題発見の人間学
ドナルド・C・ゴース, G.M.ワインバーグ, 木村 泉
# RECOMMEND
コンサルタントの道具箱
コンサルタントの道具箱
ジェラルド・M・ワインバーグ, 伊豆原 弓
' RECENT COMMENTS
# RECENT TRACKBACK
# CATEGORIES
# ARCHIVES
-> LINKS
# COUNTERS
カウンタ設置以来…
今日…
昨日は…


Stats [since 09/09/06]
- PROFILE