# 42. `main` et `ExitCode` ## 42.1 `main` — V1 REQUIS — FIGÉ Dans `main.saselrun` : ```text func main(Array args) -> Result ``` Pas de visibilité explicite. `main` ne peut pas déclarer `throws`, même s'il retourne `Result`. L'environnement top-level ne possède pas d'appelant Saselang capable de l'envelopper dans un `try/catch`. ## 42.2 `ExitCode` — V1 REQUIS — FIGÉ EN PRINCIPE `ExitCode` est un type Core à sémantique portable. Sa représentation ABI peut dépendre de la plateforme, mais sa signification Saselang reste stable. Une erreur de `main` doit produire au minimum une représentation utilisateur raisonnable et un code d'échec. Logging/tracing reste une API séparée. ---