Back to all reviewers

Check operation failures

bazelbuild/bazel
Based on 3 comments
Other

Always validate inputs and check return values of operations that can fail, providing clear error messages when failures occur. This includes system calls, library functions, and user input validation.

Error Handling Other

Reviewer Prompt

Always validate inputs and check return values of operations that can fail, providing clear error messages when failures occur. This includes system calls, library functions, and user input validation.

For file operations, check return values and handle errors appropriately:

FILE* procs = fopen(procs_path, "w");
if (procs != NULL) {
  if (fprintf(procs, "%d", pid) < 0) {
    // Log error and handle failure
  }
  if (fclose(procs) != 0) {
    // Log error and handle failure  
  }
}

For input validation, check for invalid states and provide helpful error messages:

if (command.empty()) {
  blaze_util::StringPrintf(error, "Command cannot be the empty string (try 'help')");
  return nullptr;
}

Additionally, implement proactive measures to prevent predictable failures, such as proper argument escaping before passing to system commands. This defensive approach reduces the likelihood of runtime failures and makes debugging easier when issues do occur.

3
Comments Analyzed
Other
Primary Language
Error Handling
Category

Source Discussions