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 ()
انظر القائمة الكاملة لرموز الخروج.
بشكل تقليدي ، يشير الخروج من برنامج مع صفر إلى النجاح بينما يشير غير صفري إلى الفشل.
os . Exit ( 0 ) // success
os . Exit ( 1 ) // failure
لكن exit
استدعاء النظام يقبل القيم بين 0 و 255 ، تاركًا 254 طريقة مختلفة للتعبير عن الفشل.
أهداف هذه المكتبة هي تحديد رموز الخروج التي هي:
إنه يحدد الرموز في نطاقات غير محفوظة: 80-99 لأخطاء المستخدم و 100-119 لأخطاء البرنامج أو النظام.
رمز الخروج | اسم | معنى |
---|---|---|
0 | OK | خرج البرنامج بنجاح. |
1 | NotOK | خرج البرنامج دون جدوى ولكن لا يعطي سياقًا إضافيًا فيما يتعلق بالفشل. |
80 | UsageError | خرج البرنامج دون جدوى لأنه تم استخدامه بشكل غير صحيح. (على سبيل المثال ، تم حذف وسيطة مطلوبة أو تم توفير قيمة غير صالحة للعلم.) |
81 | UnknownSubcommand | خرج البرنامج دون جدوى لأنه تم استدعاء مجموعة فرعية غير معترف بها. (تستخدمها CLI Multi Tools.) |
82 | RequirementNotMet | خرج البرنامج دون جدوى لأنه لم يتم الوفاء بشرط مسبق منه. |
83 | Forbidden | خرج البرنامج دون جدوى لأن المستخدم غير مصرح له بتنفيذ الإجراء المطلوب. |
84 | MovedPermanently | خرج البرنامج دون جدوى لأنه تم ترحيله إلى موقع جديد. |
100 | InternalError | خرج البرنامج دون جدوى بسبب مشكلة في الكود الخاص به. (تستخدم بدلاً من 1 عندما يكون المشكلة معروفة مع رمز البرنامج أو تبعياته.) |
101 | Unavailable | خرج البرنامج دون جدوى لأن الخدمة التي تعتمد عليها لم تكن متوفرة. (على سبيل المثال ، لم يستجب خفيون محلي أو خدمة عن بُعد ، تم إغلاق اتصال بشكل غير متوقع ، استجابت خدمة HTTP بـ 503.) |
Ctrl
C
، على سبيل المثال ، ترسلها إلى SIGINT
الإشارة - والتي تكون قيمتها 2 - وتخرج البرنامج بـ 130.)sysexits.h
في الأصل لـ sendmail
ولكن تم استخدامها في العديد من الأماكن منذ ذلك الحين. (قارن رموز الخروج الدلالية مع رموز sysexits.H)