الرسالة لا تختار رمز الخروج هنا. [1] [2]
الخلاصة السريعة
- الرسالة لا تختار رمز الخروج هنا. [1] [2]
- على CPython 3.12.14، نستدعي exit مباشرةً على محلل عادي برسالة leaf. [1] [2]
- دون status صريح، نلتقط SystemExit ورمزه 0؛ stderr يساوي leaf وstdout فارغ. [1] [2]
- exit يكتب الرسالة ثم يستعمل status؛ ليس هذا استدعاء error. [1] [2]
- تحكم مستقل بنفس الرسالة وبـstatus=4 يرفع SystemExit برمز 4 وبالإخراج نفسه؛ الالتقاط يتيح متابعة المثال. [1] [2]
رسالة ورمز
استدعاء مباشر
على CPython 3.12.14، نستدعي exit مباشرةً على محلل عادي برسالة leaf. [1] [2]
الافتراضي صفر
دون status صريح، نلتقط SystemExit ورمزه 0؛ stderr يساوي leaf وstdout فارغ. [1] [2]
import argparse,contextlib,io own=argparse.ArgumentParser() out=io.StringIO();err=io.StringIO() with contextlib.redirect_stdout(out),contextlib.redirect_stderr(err): try: own.exit(message="leaf") except SystemExit as ex: code=ex.code print(code,err.getvalue(),out.getvalue()=="") [1] [2]

رمز صريح
exit يكتب الرسالة ثم يستعمل status؛ ليس هذا استدعاء error. [1] [2]
control=argparse.ArgumentParser() co=io.StringIO();ce=io.StringIO() with contextlib.redirect_stdout(co),contextlib.redirect_stderr(ce): try: control.exit(status=4,message="leaf") except SystemExit as ex: ccode=ex.code print(ccode,ce.getvalue(),co.getvalue()=="") [1] [2]
تحكم مستقل بنفس الرسالة وبـstatus=4 يرفع SystemExit برمز 4 وبالإخراج نفسه؛ الالتقاط يتيح متابعة المثال. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
