python核心編程--第十章

10.1 什麽是異常

對異常的最好描述是: 它是因爲程序出現了錯誤而在正常控制流以外采取的行爲. 這個行爲又分爲兩個階段: 首先是引起異常發生的錯誤, 然後是檢測(和采取可能的措施)階段.


10.3 檢測和處理異常

異常可以通過 try 語句來檢測. 任何在 try 語句塊裏的代碼都會被監測, 檢查有無異常發生.

核心筆記: 忽略代碼, 繼續執行, 和向上移交
try 語句塊中異常發生點後的剩余語句永遠不會到達(所以也永遠不會執行). 一旦一個異常被引發, 就必須決定控制流下一步到達的位置. 剩余代碼將被忽略, 解釋器將搜索處理器, 一旦找到,就開始執行處理器中的代碼.
如果沒有找到合適的處理器, 那麽異常就向上移交給調用者去處理, 這意味著堆棧框架立即回到之前的那個. 如果在上層調用者也沒找到對應處理器, 該異常會繼續被向上移交, 直到找到合適處理器. 如果到達最頂層仍然沒有找到對應處理器, 那麽就認爲這個異常是未處理的, Python 解釋器會顯示出跟蹤返回消息, 然後退出.

更多相關文章
  • 開始學習python核心編程吧.然後想了想,還是學習英文版的,唯一顧慮英文版的一是不好做筆記,比如寫在博客上.二是自己的英文能力也一般,有時候看起來會吃力.但是後面想了想,還是學習英文版吧.把自己的台式機搬回自己的桌子上,然後通過看電子書來學習.OK? OK python核心編程這本書確實寫的很好, ...
  • http://115.com/file/c26rp2us#Python核心編程(中文第二版).pdf
  • python 核心編程第二版 中文版錯誤第353頁的第一個safe_float(obj)應該在try中再添加一個return retval,否則,輸入正確的值,無法輸出原文截圖:def safe_float(obj):try:retval = float(obj)except ValueError: ...
  • 1.1 –d   提供調試輸出 1.2 –O   生成優化的字節碼(生成.pyo文件) 1.3 –S   不導入site模塊以在啓動時查找python路徑 1.4 –v   冗余輸出(導入語句詳細追蹤) 1.5 –m mod 將一個模塊以腳本形式運行 1.6 –Q opt 除法選項(參閱文檔) 1. ...
  • Python核心編程(第二版)學習筆記01 [第2章 快速入門]2009-4-15 20:51 Tony一 關鍵知識點1 程序列印輸出使用print語句2 使用print輸出字符串時,字符串內容不帶引號.而使用字符串變量名輸出時,字符串內容由引號括起來3 在python 解析器中下劃線_表示最後一個 ...
  • Python核心編程(第二版)學習筆記02 [第3章 Python基礎]2009-4-16 20:45 Tony1 python語句基本規則和特殊字符:     反斜杠 \  繼續上一行     分號   ;  將兩個語句連接在一行中     冒號   :  將代碼塊的頭和體分開     2 有兩種 ...
  • python核心編程--筆記1 1.1 –d   提供調試輸出 1.2 –O   生成優化的字節碼(生成.pyo文件) 1.3 –S   不導入site模塊以在啓動時查找python路徑 1.4 –v   冗余輸出(導入語句詳細追蹤) 1.5 –m mod 將一個模塊以腳本形式運行 1.6 –Q o ...
  • python核心編程--第十三章
    13.1 介紹 類與實例 類與實例相互關聯著:類是對象的定義,而實例是"真正的實物",它存放了類中所定義的對象的具體信息. >>> class MyData(): pass >>> mathObj = MyData() >>> ...
  • python核心編程--第六章
    開始學習python最關鍵的一章:序列:字符串,列表和元祖 6.1 序列 6.1.2 序列類型操作符 1) 成員關系操作符(in, not in) 成員關系操作符使用來判斷一個元素是否屬于一個序列的.比如對字符串類型來說,就是判斷一個字符是否屬于這個字符串,對元祖類型來說,就代表了一個對象是否屬于該 ...
一周排行
  • 通知頁面notify_url、返回頁面return_url是怎麽工作的
    返回頁面(return_url文件)工作原理即:商戶系統請求/支付寶回應交互模式1. 構造 ...
  • <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springfram ...
  • 其實發這篇博感覺並沒有什麽用,太簡單了,會的人不屑看,不會的人自已動動腦子也想到了.但是看著自已的博客已經這麽久沒更,真心疼~.粗略算下一篇只有代碼的水文,會占用OSC至少十幾KB的數據庫空間呢,但是,一想到亂彈裏的 ...
  • 我依然記得當我完成學業時,我是多麽的天真.那時我深信自己已經准備好進入任何一家軟件公司,並開始成爲一個頂級的開發人員.顯然,開始工作後沒多久我就意識到,還有很多事是我所不了解的.在不斷吸取經驗的同時,我一直在努力學習 ...
  • Linux典藏大系:Linux從入門到精通第2版
  • column 'id' in field list is ambiguous 這個錯誤,是因爲你查詢語句裏面有id字段的時候,沒有說明是哪個表的id字段,應該加上表名(或者別名)來區分.用表名進行區分的例子:sele ...
  • 簡介與安裝 - OpenCart教程
    作者: Alex.Lin 1.1.   OpenCart介紹 OpenCart 是國外著名 ...
  • 由于工作需要,需要在伺服器上搭建ftp,方便文靜傳輸, 選用vsftpd搭建ftp伺服器 測試環境: 1.fedora 17 x64 2.vsftpd3.3 搭建步驟: 1.安裝vsftpd     a.查看vsft ...
  •       nginx已經很火了,可centos和debian/ubuntu都還沒把nginx加入倉庫中,每次都只能編譯安裝,不過官方最近提供了deb和rpm包了,只需要使用nginx的源就可以用包管理軟件直接安裝了 ...
  • package test; public class Test { public static void main(String[] args) { // TODO Auto-generated method stu ...