exit
v1.1.0
os . Exit ( exit . Forbidden ) // The user isn't permitted to perform this action
os . Exit ( exit . Unavailable ) // An API this program consumes isn't available
use semantic_exit :: { exit , Code } ;
exit ( Code :: Forbidden ) ;
exit ( Code :: Unavailable ) ;
import exit
exit . Code . Forbidden . exit ()
exit . Code . Unavailable . exit ()
Lihat daftar lengkap kode keluar.
Secara konvensional, keluar dari program dengan nol menunjukkan keberhasilan sementara bukan nol menunjukkan kegagalan.
os . Exit ( 0 ) // success
os . Exit ( 1 ) // failure
Tetapi keluar sistem exit
menerima nilai antara 0 dan 255, meninggalkan 254 cara berbeda untuk mengekspresikan kegagalan.
Tujuan perpustakaan ini adalah untuk mendefinisikan kode keluar yaitu:
Ini mendefinisikan kode dalam dua rentang yang tidak dipesan: 80-99 untuk kesalahan pengguna dan 100-119 untuk kesalahan perangkat lunak atau sistem.
Kode Keluar | Nama | Arti |
---|---|---|
0 | OK | Program ini berhasil keluar. |
1 | NotOK | Program keluar tidak berhasil tetapi tidak memberikan konteks tambahan tentang apa kegagalannya. |
80 | UsageError | Program keluar tidak berhasil karena itu digunakan secara tidak benar. (Misalnya argumen yang diperlukan dihilangkan atau nilai tidak valid dipasok untuk sebuah bendera.) |
81 | UnknownSubcommand | Program keluar tidak berhasil karena sub -perintah yang tidak diakui dipanggil. (Digunakan oleh CLI Multi-Tools.) |
82 | RequirementNotMet | Program keluar tidak berhasil karena prasyaratnya tidak terpenuhi. |
83 | Forbidden | Program keluar tidak berhasil karena pengguna tidak berwenang untuk melakukan tindakan yang diminta. |
84 | MovedPermanently | Program keluar tidak berhasil karena telah dimigrasi ke lokasi baru. |
100 | InternalError | Program keluar tidak berhasil karena masalah dalam kode sendiri. (Digunakan alih -alih 1 ketika masalah diketahui dengan kode atau dependensi program.) |
101 | Unavailable | Program keluar tidak berhasil karena layanan yang tergantung pada tidak tersedia. (Misalnya daemon lokal atau layanan jarak jauh tidak merespons, koneksi ditutup secara tidak terduga, layanan HTTP merespons dengan 503.) |
Ctrl
C
, misalnya, Anda mengirimkannya sinyal SIGINT
- yang nilainya 2 - dan program keluar dengan 130.)sysexits.h
awalnya didefinisikan untuk sendmail
tetapi telah digunakan banyak tempat sejak itu. (Bandingkan kode keluar semantik dengan kode Sysexits.h)