28 lines
734 B
Markdown
28 lines
734 B
Markdown
# 42. `main` et `ExitCode`
|
|
|
|
## 42.1 `main` — V1 REQUIS — FIGÉ
|
|
|
|
Dans `main.saselrun` :
|
|
|
|
```text
|
|
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 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.
|
|
|
|
---
|