※古いですが,統合開発環境はvisual stdio 2010を使用しています。
言語はC++で,例外処理を学んでいました。
以下,私が書いたコードと質問内容を述べます。
#include "stdexcept"; using namespace std; int main() { int Max = 2147483647; int plus; try { plus = Max + 1; } catch(overflow_error e) { cerr << e.what() << endl; } //上記で例外を投げるはずなので以下は表示されないはずなのですが… cout << "合計値は" << plus << "です" << endl; return 0; }
質問内容
1.このコードを実行すると例外を投げてはくれず,「合計値は-2147483647です」と表示されます。int型の変数plusは演算時にintの範囲を超えた数値を扱うので,例外を投げるはずだと思っていたのですが,うまくいきません。
2.int型の最大数値を手打ちで入力しています。最大の整数を求めて,それを使用することはできないのでしょうか。C#ではint.MaxValueとかで求められますがC++でできるかがわかりませんでした。
3.C++には例外クラスがありますが,統合開発環境が古いので対応していないのでしょうか。
以上です。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/25 13:11 編集
2018/07/25 13:22 編集
2018/07/26 22:39