v0.2.12
This commit is contained in:
27
chapters/042-main-et-exitcode.md
Normal file
27
chapters/042-main-et-exitcode.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user