Files
saselang-bible/chapters/042-main-et-exitcode.md
2026-09-13 10:20:16 +02:00

982 B

42. main et ExitCode

42.1 main — V1 REQUIS — FIGÉ

Dans main.saselrun :

func main(Array<String> args) -> Result<ExitCode>

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 d'assumer un contrat checked : toute Exception doit donc être gérée avant de quitter main.

main peut documenter des Fault par faults, comme toute callable. Un Fault non capturé atteint la frontière de l'unité d'exécution et provoque l'échec runtime correspondant.

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.