2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

エラー処理検討スレ

1 :デフォルトの名無しさん:2006/04/17(月) 12:48:44
エラー処理を制する者は、プログラムを制す。

ということで、エラー処理に付いて検討しませんか?

2 :デフォルトの名無しさん:2006/04/17(月) 13:05:51
2chにおけるエラー処理は削除依頼だ。出しとけよ。

3 :デフォルトの名無しさん:2006/04/17(月) 14:10:28
データ→血液
エラー→リンパ液

4 :デフォルトの名無しさん:2006/04/17(月) 19:27:24
C++で例外投げる時、
runtime_error から派生させるか
logic_error から派生させるか
迷うことない?

5 :デフォルトの名無しさん:2006/04/17(月) 22:26:41
上流でそんな場合分けしてることは滅多にないので気にしない。

6 :デフォルトの名無しさん:2006/04/18(火) 05:19:04
>>1-1000
↓こっち池。

例外処理
http://pc8.2ch.net/test/read.cgi/tech/1142667446/

7 :デフォルトの名無しさん:2006/04/18(火) 15:38:54
>>4
Sutterはlogic_errorは意味なしだと暗に書いてるよな
ASSERT使えよと

8 :デフォルトの名無しさん:2006/04/18(火) 19:25:31
>>7 まぁ logic_error とその派生クラス投げるってのは、
assert() と同じく本来その例外が発生するのはおかしい、
っていうケースだけなんだろうけど、実際はそうでない
シチュエーションでも投げる設計になってるコードが多いよな。

9 :デフォルトの名無しさん:2006/04/27(木) 22:31:22
>>6

C言語なんですがどうやれば例外処理できますか?

10 :デフォルトの名無しさん:2006/04/27(木) 23:42:21
longjmp

11 :デフォルトの名無しさん:2006/04/28(金) 00:27:31
>>9
エラーコード返すなり、C言語流にやればいい。

12 :デフォルトの名無しさん:2006/04/28(金) 13:23:18
それは例外処理と言うより一般的なエラー処理じゃね?

13 :デフォルトの名無しさん:2006/04/28(金) 13:24:48
>>12
http://e-words.jp/w/E4BE8BE5A496E587A6E79086.html

14 :デフォルトの名無しさん:2006/05/01(月) 15:18:13
e-Wordsってスポーツ新聞並ですよね。

15 :デフォルトの名無しさん:2006/05/17(水) 21:40:01
>>9
Windowsなら構造化例外処理という、言語によらない、OSがサポートするメカニズムがある。
コンパイラが、それに対応していないとダメだが。

16 :デフォルトの名無しさん:2006/07/01(土) 02:32:07
Assertはエラー処理ではない。
デバッグのための機能だということを憶えておいてほしい。
開発者が自前でやるテスト以外は普通はデバッグモードでコンパイルなどされません。

ありえないエラーというやつはおきるもの(mutexロックが外部要因でエラーになることを俺も目撃して初めて知った)
それをAssertでエラー処理したつもりになると暴走してえらいことになります。
フリーズしました・リセットしましたの方が、暴走するよりましです。



17 :デフォルトの名無しさん:2006/07/01(土) 11:21:26
Cなら、ASSERTマクロを切るのはNDEBUGマクロだしな。
>>16のいってることは当然のことで、明白だよね。

18 :デフォルトの名無しさん:2006/07/01(土) 11:27:05
標準は assert.h の assert() な。
ASSERT() は Microsoft だっけ?
Assert() はどこの出だ?

19 :デフォルトの名無しさん:2006/07/01(土) 18:19:04
>>16
あまりに当たり前のことを言って、何がしたいの?


20 :デフォルトの名無しさん:2006/07/01(土) 20:39:53
リリース時は例外になるとか、
必要に応じてやればいいじゃん。


21 :デフォルトの名無しさん:2006/07/02(日) 20:29:16
UINTとDWORDのどっちにしたらいいか悩むときってないですか?
これどういう基準で決めるの?


22 :デフォルトの名無しさん:2006/07/02(日) 20:32:18
値を演算するかどうか、カナ。

23 :デフォルトの名無しさん:2006/07/02(日) 20:59:45
まずAPIの仕様でどれを使うか決まってしまう場合は勿論それに従う(しかない)。

DWORDは(uint32_tの代替として)32ビット符号無し整数型が欲しいときに使う。
UINTはunsigned int(単なる符号無し整数型)が欲しいときに使う。
でULONGは出番無し。

24 :デフォルトの名無しさん:2006/09/14(木) 06:51:57
最近64bit長が欲しい場合があるけど
その場合は__int64すか?

25 :デフォルトの名無しさん:2006/09/14(木) 14:29:58
俺の場合、本当に64ビット長が欲しければ、int64_t (<stdint.h>, <boost/cstdint.hpp>)を使う。
そうでなければlong long (VC++でも最近は使える)やLONGLONG <windows.h>を使う。

そもそもスレ違い。

26 :デフォルトの名無しさん:2006/09/14(木) 14:53:05
__m64

27 :デフォルトの名無しさん:2006/09/14(木) 19:40:54
個別のエラー処理の話になると、マ板ネタになりそうなおかん

5 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)