在整個跑code 的過程 (life cycle) 遇到的問題 大致可以分三類:
處理exception approach:
LBYL 大部分的程式碼多是在做 error handling → low readability 低可讀性
EAFP 程式 因為都放到 try 去跑 執行速度比較快
EAFP → reduce race conditions 機率
EAFP → 可以減少check file 和 execute file 中間的時間差 避免file crash
LBYL (preferable) 的用法
coding 極大多數的時間是在處理 客戶用到的exception 情況
logging
模組提供功能齊全且富彈性的日誌記錄系統。在最簡單的情況下,日誌訊息會被發送到檔案或 sys.stderr
:
**import** **logging**logging.debug('Debugging information') logging.info('Informational message') logging.warning('Warning:config file **%s** not found', 'server.conf') logging.error('Error occurred') logging.critical('Critical error -- shutting down')