c - 如何处理错误

标签 c design-patterns error-handling

我想知道处理编程错误的最佳方法是什么(我正在用 C 编写代码)。我是编程新手,这就是我正在做的事情:

if( action1 was successfull )
{
   [some code]
   if (action 2 was successfull)
   {
      [some more code ..]
      if (action 3 was successfull)
      {
         ETC ... 
      }
      else
      {
        [Handle error3]
      }
   }
   else
   {
     [handle error2]
   }
}
else
{
  [Handle error1]
}

但我认为这是一个坏习惯...有人可以向我解释一下最优雅的方法是什么吗? 谢谢

最佳答案

我是这样做的:

// more code
if (!action_1_succeeded())
{
   handle_error();
   return;
}

// more code
if (!action_2_succeeded())
{
   handle_error();
   return;
}

// more code
if (!action_3_succeeded())
{
   handle_error();
   return;
}

通常,我会将handle_errorreturn封装成一个宏,所以我只做check_error(some_statement());

关于c - 如何处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164642/

相关文章:

并发线程和数据竞争

java - OOP 使用子类的实例初始化实例变量

logging - 是否有错误消息的行业标准?

matlab - 在单元格模式下运行时,使MATLAB显示错误的位置

c - 为什么 MISRA 规则禁止使用 '#undef' ?

c - 在系统 C/Xilinx X 指定的 Verilog 数据中查找绝对值

c++ - 在 Mac mountain lion 上运行开放式 CV 人脸检测的问题

java - 我必须使用 Java 生成 PL/SQL。大多数程序都是通用的。只有少数不断变化。怎么做?

c# - 用于创建 API URL 的设计模式

c++ - 奇怪的错误。在循环中使用 rand() 和数组