No.1ベストアンサー
- 回答日時:
> 参考書や解説サイトにはよく載っている「例外処理(tryとかcatchとか)」を記述したソースを殆ど見ないのですが、
どんなソースを見たのでしょうか?
標準C++ライブラリやBoost C++ Librariesを使ったソース(および、それらライブラリ自体)を見れば、まともなプログラムなら例外処理を意識しているはずです。
> 例外処理は使わない方がいいのでしょうか?
そんなことはありません。
しっかり使いこなせるようにしましょう。
特に、「例外安全」については重要の概念ですので、よく理解するようにしてください。
ご回答ありがとうございます。
>どんなソースを見たのでしょうか?
主にゲーム関係やWindowsAPIを使ったアプリのプログラムです。
色々なアルゴリズムやデータ管理方法が実装されていますので、
参考には重宝しています。
が、例外処理は殆ど見たことがありません。
標準ライブラリやBoostはまだ理解できるレベルに到達していないので見たことはないのですが、
Microsoftは速度よりもセキュリティを重視してるので、
その当たりが関係してるのでしょうかね・・・。
例外処理は使ってはいけないものみたいな認識があったのですが、
例外処理はする癖をつけた方がいいですよね。
No.4
- 回答日時:
> if文で処理するよりもcatchしたときに処理時間が何倍もかかるようですし、
> 速度を求める為にC言語系を使ってる人も多いので、
> それも影響してるのでしょうか・・・。
そりゃ事態を想定できて適切に処理するためのコードを処理時間が短い方法で書けるんだったらそうすべき。
そっから漏れるケースを例外処理にて行えば?
No.3
- 回答日時:
>例外処理は使わない方がいいのでしょうか?
例外処理に関する例題には必要だろうけど
それ以外の部分でわざわざ例外処理をして例題のソースを
長くする意味があると思いますか?
例題は伝えたい処理の内容を簡潔にわかりやすくするために例として用意されているものだからです。
Aって事を説明するためにBやCも書いてあったらソースを理解するのが面倒でAと言う要点がぼやけるとだと思いませんか?
ご回答ありがとうございます。
確かにそうでですよね。
ただ、ゲームやフリーソフトのほぼ完成したプログラムでも
例外処理されていないものが多いので気になりました。
その点は補足不足で申し訳ないです。
No.2
- 回答日時:
よ~く考えろ。
もし例外的なデータが、
アンタのプログラムに流されたとしたら、
あんたのプログラムはどうなる?
オマエさんのプログラムと一緒にOSまで落ちたら
オマエさんはシアワセか?
それを考えるのが例外処理だ。
んで、それをテストするのが異常系テストだ。
C++に限らず、ソフトウェアを作る際に、
いちばんPGを困らせ、一番胃が痛くなるところだ。
ちなみにそこらへんを美しくコーディングする人間を、
俺はネ申と呼ぶ。
ガンガレ。
ご回答ありがとうございます。
ユーザーはやっちゃいけないことをやりたがりますからね。
予期しないオーバーフローや、メモリ不足は、厄介物です。
そこまでは例外処理というものが存在する理由です。
しかし、実際に使われているのが少ないのは何故なのか。
そこが一番の疑問点です。
#1の方の回答では、多くの人に提供するライブラリ等であれば
使われているようではありますが・・・
やはり面倒というか、コストに見合わないのですかね。
どこかのサイトで見たような気がするのですが、
if文で処理するよりもcatchしたときに処理時間が何倍もかかるようですし、
速度を求める為にC言語系を使ってる人も多いので、
それも影響してるのでしょうか・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 格安スマホ・SIMフリースマホ IIJmioへのMNP転入について(機種購入も含む)質問です。 ①新しい機種に新しいSIMカードを挿 3 2023/04/10 12:41
- Oracle TOPページ以外の、301リダイレクトの記述設定について 1 2022/08/12 17:14
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- 情報処理技術者・Microsoft認定資格 (パイプライン処理)基本情報技術者の演習問題について 1 2023/03/11 17:47
- 数学 数的処理の勉強方法について 最初数的処理の勉強を始めた学生です。 パターン暗記というものが良いらしい 3 2023/04/03 11:54
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- 消費者問題・詐欺 駐車場調べ隊というサイトで、会員登録してましたが 無料期間で退会するためサイトで申し込みしたところ 2 2023/06/03 23:22
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- TOEFL・TOEIC・英語検定 Would you like (to)~ の使い方を勉強する過程で 2 2022/08/02 14:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
空elseの有無
-
BIOSってどんなCPUで処理してる...
-
超初心者用プラグラム教えてく...
-
プログラミングの読み方、書き...
-
VBからシャットダウンさせる方法
-
実行コマンドのプロセス管理
-
あるプログラムのコマンドライ...
-
0除算して、落ちるプログラムと...
-
このプログラミング誰か教えて...
-
Excelで4096点以上のFFTの方法
-
65536は2の何乗なのでしょうか?
-
コンパイルできない
-
パックマンプログラム
-
正しい五十音順について
-
【JAVA】数字をひし形に出力す...
-
変数の値が勝手に変化する原因
-
C++ で、「)」が必要 というエ...
-
「Outlookが他のプログラムによ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
プログラミングのコード量に関...
-
空elseの有無
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
きれいなコード vba vbaを勉強...
-
PCの時刻精度
-
VBからシャットダウンさせる方法
-
クリップボードを排他的に利用...
-
MFC,C++/CLI,C#の共存
-
逆フーリエ変換のプログラムに...
-
【VB】データグリッドビューで...
-
COBOLのCALL文がいまいちつかめ...
-
GDLでH8/3052Fのi2cプログラム...
-
プログラム動作時のCPU処理時間...
-
「ルーチン」という言葉の意味
-
例外処理があまり使われない理...
-
良いプログラムとは?
-
実行コマンドのプロセス管理
おすすめ情報