try{...} catch{...} finally{...} 排除スレ

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
重いんじゃボケ
2デフォルトの名無しさん:2008/02/15(金) 14:51:28
catch と finally がネストした中でのreturnの動きとか分からない。

言語で規定されてない。
3デフォルトの名無しさん:2008/02/15(金) 15:19:12
begin
rescue
ensure
4デフォルトの名無しさん:2008/02/15(金) 17:02:49
>>2
逆に、規定されている言語もあるんではないの?
5デフォルトの名無しさん:2008/02/15(金) 17:12:21
Delphi言語では規定されてるね。

C++では標準規定は無く、各種実装みたいな。
6デフォルトの名無しさん:2008/02/16(土) 02:05:00
>>1
多少重いのは高級仕様だから仕方ない。
そもそも本来は実装手法としてじゃなくて「例外処理」が目的。
それを重く感じる程使うなら寧ろその恩恵に感謝するべきじゃね?

>>5
C++でfinallyなんて無い、try-catchだけならreturnの動きは自明。
7デフォルトの名無しさん:2008/02/16(土) 08:40:40
>>6

5をちゃんと嫁。
言語では規定されて無いけど、実装されてるって書いてるだろ。
VC++、BCB、gccの全部でfinallyはあるよ。
だから、6より5が正しい。
8デフォルトの名無しさん:2008/02/16(土) 22:11:59
規定されてないものを使う方が馬鹿。
9デフォルトの名無しさん:2008/02/16(土) 22:27:14
処理系で規定されてれば十分という罠
10デフォルトの名無しさん:2008/02/16(土) 23:33:44
処理系に依存するのが許容できるならな。
11デフォルトの名無しさん:2008/02/17(日) 00:12:45
C++のfinallyの存在自体、処理系依存だ。
12デフォルトの名無しさん:2008/02/17(日) 00:25:01
>>7
ほー、それは初耳。
どうやって使うの?

関係ないけど日本語変って言われない?
13デフォルトの名無しさん:2008/02/17(日) 03:27:25
というわけでusingのある言語へどうぞ
14デフォルトの名無しさん:2008/02/17(日) 06:56:28
>>12
君は頭が変って言われない?
15デフォルトの名無しさん:2008/02/18(月) 13:48:24
>>14
いやぁ、知らない事聞いただけで頭変だなんて言われた事は流石にないなww

質問に質問で返すな、余談にだけレスとか無意味極まりない。

嫁って言われたから読み直して、知らないから使い方を教えてはくれないかって聞いてんだよ。教える教えないどっちにしろ応えてくれないか?
日本語どーこーに腹立ったなら悪かったな、たいしたことじゃないから気にするな。
16デフォルトの名無しさん:2008/02/18(月) 14:21:51
ほかは知らないのでVC++だけ。

前からあったのがWindows SEH絡みのもので、これはBCCも同じかもしれない。
C++例外処理、try-catchやデストラクタとは直接に混ぜられない。
同一関数内で両者を混ぜて使うとエラーになる(C2712, C2713など)。
http://msdn2.microsoft.com/en-us/library/9xtt5hxz(VS.90).aspx

マネージ拡張ではCLI用に使われ、try-catchと混ぜて書ける。
http://msdn2.microsoft.com/en-us/library/aa712785(VS.71).aspx

C++/CLIではfinallyとも書けるようになった。
http://msdn2.microsoft.com/ja-jp/library/da8ft1w2(VS.80).aspx
17デフォルトの名無しさん:2008/02/18(月) 15:58:48
ひどい逆切れがいるな
18デフォルトの名無しさん
自分のほうから日本語変とか言っておいてねぇww