13.2 终æ¢ç¨‹åº�并给出错误信æ�¯Â¶
问题¶
ä½ æƒ³å�‘æ ‡å‡†é”™è¯¯æ‰“å�°ä¸€æ�¡æ¶ˆæ�¯å¹¶è¿”回æŸ�个é�žé›¶çжæ€�ç �æ�¥ç»ˆæ¢ç¨‹åº�è¿�行
解决方案¶
ä½ æœ‰ä¸€ä¸ªç¨‹åº�åƒ�下é�¢è¿™æ ·ç»ˆæ¢ï¼ŒæŠ›å‡ºä¸€ä¸ª SystemExit 异常,使用错误消æ�¯ä½œä¸ºå�‚数。例如:
raise SystemExit('It failed!')
它会将消æ�¯åœ¨ sys.stderr 䏿‰“å�°ï¼Œç„¶å�Žç¨‹åº�以状æ€�ç �1退出。
讨论¶
本节虽然很çŸå°�,但是它能解决在写脚本时的一个常è§�问题。 ä¹Ÿå°±æ˜¯è¯´ï¼Œå½“ä½ æƒ³è¦�ç»ˆæ¢æŸ�个程åº�æ—¶ï¼Œä½ å�¯èƒ½ä¼šåƒ�下é�¢è¿™æ ·å†™ï¼š
import sys
sys.stderr.write('It failed!\n')
raise SystemExit(1)
å¦‚æžœä½ ç›´æŽ¥å°†æ¶ˆæ�¯ä½œä¸ºå�‚æ•°ä¼ ç»™ SystemExit() ï¼Œé‚£ä¹ˆä½ å�¯ä»¥çœ�略其他æ¥éª¤ï¼Œ
比如importè¯å�¥æˆ–将错误消æ�¯å†™å…¥ sys.stderr