Skip to main content

error-handling

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

Informations de source

Dépôt
NVIDIA-NeMo/RL
Dernière activité de la source
23 octobre 2026 à 05:20
Langue détectée de SKILL.md
anglais
Étoiles
2 101
Forks
627

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
Voir sur GitHub