llvm/llvm-project

[clang-tidy] Add `readability-use-rethrow` check

Open

#189.672 geöffnet am 31. März 2026

Auf GitHub ansehen
 (8 Kommentare) (1 Reaktion) (1 zugewiesene Person)C++ (10.782 Forks)batch import
check-requestclang-tidygood first issue

Repository-Metriken

Stars
 (26.378 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)

Beschreibung

It would be useful to have a clang-tidy check that detects cases where code is clearly trying to rethrow the currently handled exception, but spells it as throw e; instead of throw;.

For example, code like this is easy to write:

try {
  f();
} catch (const std::exception &e) {
  log(e.what());
  throw e;
}

but if the intent is to rethrow the active exception, the clearer spelling is:

try {
  f();
} catch (const std::exception &e) {
  log(e.what());
  throw;
}

The latter expresses the intent directly and avoids the impression that the code is deliberately throwing the caught object as a new exception expression.

Contributor Guide