Skip to main content

error-handling

Error handling guidelines for NeMo-RL. Covers exception specificity, minimal try bodies, and else blocks.

Source facts

Repository
NVIDIA-NeMo/RL
Last source activity
October 23, 2026 at 05:20
Detected SKILL.md language
English
Stars
2,081
Forks
618

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
error-handling
description
Error handling guidelines for NeMo-RL. Covers exception specificity, minimal try bodies, and else blocks.
when_to_use
Writing or reviewing exception handling; 'try-except', 'catch all exceptions', 'bare except', 'how to handle errors', during code review.
# Error Handling ## Use Specific Exceptions When using try-except blocks, limit the except to the smallest set of errors possible. **Don't:** ```python try: open(path, "r").read() except: print("Failed to open file") ``` **Do:** ```python try: open(path, "r").read() except FileNotFoundError: print("Failed to open file") ``` ## Fail Loud, Not Silent When adding a config option or branch, ask: what does the worst plausible misconfiguration do? If it silently produces *wrong results* rather than an error, add a setup-time `assert`/`raise` so it fails loudly at startup instead of corrupting a run. **Examples of silent-wrong worth guarding:** - An advantage estimator that needs a real `prev_logprobs` while a loss flag zeroes it (advantage degrades to garbage with no error). - An agent routed to a teacher alias that has no worker group (cryptic `KeyError` mid-run instead of a setup-time check). - A backend/quantization setting silently ignored for a sub-component. Prefer failing at `setup()` time over a deep-in-the-loop crash; prefer a crash over silent garbage. If you truly can't validate, surface a logged warning rather than nothing.
View on GitHub