私はコンストラクタ内で例外をスローすることができるクラスを持っています。私はこのクラスのコードを所有しているので、この動作を変更したり、このクラスに他のインスタンス化または初期化メソッドを追加することはできません。私はメインの中にこのクラスのオブジェクトを作成する必要があります。このメインが長い行の数千人である場合はどうすればGiant Tryキャッチブロックのメイン
main()
{
try
{
A a;
...
}
catch(std::exception& e)
{
std::cout << e.what() << std::endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
:これは私が()それは主にこのような1つの巨大なtry/catchブロックで構成され、メインを持っている必要があることを意味していますか?このtry/catchブロックは膨大です。私はこれを行うためのより良い方法があるべきであるように感じるが、私はそれを考えることができない。
「このメインが何千もの行になる場合はどうなりますか?それはあなたの問題であり、try/catchブロックではありません。 –
try/catchブロックで失敗する可能性がある(そうしないと予防できない)このタイプのコードを囲み、全体ではありません。プロジェクトで発生する可能性のあるエラーを処理するために巨大なtry/catchに頼る必要はありません。予期しない例外も同様に発生します。 –
[main()はintを返します] mainのtry-catchブロックは(普遍的な)普遍的なプラクティスです。 "...数千行の長さ..."は悪質です。 – Loreto