ポストError handling in C codeは、Cライブラリのエラー処理について説明していますが、自分のアプリケーション内でエラーを処理する方法が不思議です。Cエラー処理アプリケーションを使用して
私は最初のCアプリケーションを書こうとしています。私は2つのエラー処理スタイル、すなわちエラーコードの返却とエラーメッセージの返送を検討しています。
// error code style
#define INTERNAL_ERROR 3
int foo(void)
{
int rc = third_party_lib_func();
if (rc) {
return INTERNAL_ERROR;
// pro: looks nice and clean, everyone talks about error code
// con: it is hard to debug, what error comes from the third
// party function?
}
return 0;
}
// error message style
char *foo(void)
{
int rc = third_party_lib_func();
if (rc) {
char *errstr = third_party_lib_strerror(rc);
return errstr;
// pro: golang style, easy to check by foo() == NULL,
// easy to debug
// con: maybe it is an rare error handling approach?
}
return NULL;
}
あなたの意見は?そして、実際のアプリケーションで最も一般的な方法は何ですか?ありがとう。
ようになり、 "あなたの意見は何ですか?" - 悪いジュジュ。そのような質問は話題にはなりません。 – Olaf
IMO、コードが優れています。メッセージを直接返すことは、国際化のメンテナンスや問題の難しさを意味します。 –
@Olaf stackoverflowのすべての答えは、誰かの意見に基づいています、なぜ悪いですか? – nut