- ベストアンサー
new に失敗させる方法。
コンストラクタ内でファイルシステム関数などを呼んだ際に、エラーになったらオブジェクトの初期化失敗としてnew の結果をNULLにしたいんですけど、方法が分かりません。 new で NULL を返す方法はあるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
参考URLのnewのところの説明によると、 常にオブジェクトを返すとあるのでできないと思います。 それより、説明にも有るように例外をスローするべきだと思います。 オブジェクトをnewで作成する側では、try~catchするべきかと思います。
お礼
必ずオブジェクトは生成されてしまうんですか。 エラーが発生するオブジェクト生成の前にtry をはってエラーをcatchするのが定石なんですね。 なるほど~。 でもそれだとオブジェクト内で発行するエラーを知っておく必要があるますね。 んー。コンストラクタで失敗専用のエラー定義を作って統一することにします。 どうもありがとうございました。