プログラムの話。何かを検索するような関数で、検索条件に一致するものが見つからなかったら例外を投げるように書いていたところ、これがえらく遅いことが発覚しました。
で、塚原氏と話していて例外とは何たるかに気づきました。例外はこれ以上の続行が不可能なエラーが発生したか、稀にしか起こらない異常事態を知らせる時に使うものであって、検索で対象が見つからないのは正常事態ですから、例外を投げるのはおかしい訳です。しかし例外を投げるように書いてしまったプログラムが沢山あるので直すのも面倒です。かなり憂鬱です。
そういえばJavaのget関数などは見つからなかったときにnullを返してくるのですが、C++ の参照にはNULLは入らない(キャストすれば入るかもしれないけど絶対後でクラッシュの誘因になる)よなあ。C++ だとポインタしかないですか。そうですか。
< | 2006 | > | ||||
<< | < | 03 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | - |
合計:
本日:
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2023.
Powered by PHP 8.2.15.
using GD bundled (2.1.0 compatible)(png support.)