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) 成員關系操作符使用來判斷一個元素是否屬于一個序列的.比如對字符串類型來說,就是判斷一個字符是否屬于這個字符串,對元祖類型來說,就代表了一個對象是否屬于該 ...
一周排行
  • Android 換膚
            皮膚一般含有多個文件,例如圖片.配置等文件,分散的文件不利于傳輸和使用,最 ...
  • 摘要: 本文作爲遊戲伺服器端開發的基本大綱,是遊戲實踐開發中的總結.第一部分專業基礎,用于指導招聘和實習考核, 第二部分遊戲入門,講述遊戲伺服器端開發的基本要點,第三部分服務端架構,介紹架構設計中的一些基本原則.希望 ...
  • 最近因爲一個專案需要對JBOSS進行補丁升級(Tomcat容器),由于JBOSS使用的是社區版,所以需要自己動手修改及編譯源碼,以下描述操作過程,有同樣需求的同學可以參考一下,如果過程中有錯誤還請各位批評指正.1,源 ...
  •         我們經常用的main函數都是不帶參數的.因此main 後的括號都是空括號.實際上,main函數可以帶參數,這個參數可以認爲是 main函數的形式參數.C語言規定main函數的參數只能有兩個, 習慣上這 ...
  • 今天用php實現csv導出數據,發現內容不換行 經過仔細檢查和baidu.google 發現犯了一個低級錯誤,原來代碼中是'\r\n',正確的應該是"\r\n" 特此記錄,以儆效尤
  • iOS Animation-CALayer 顯示動畫   對圖層樹的動畫
    對圖層樹的動畫 CATransition並不作用于指定的圖層屬性,這就是說你可以在即使不能 ...
  •  由于 需求原因,需要匹配 提取中文,大量google下,並沒有我需要的.花了一個小時大概測試,此utf8中文通過,特留文.   參考: http://hi.baidu.com/nivrrex/blog/item/e ...
  • jquery mobile雖然也有很多組件,但它做出來的應用始終給人webapp的感覺,切換不是很流暢,有時候必須做跳轉.sencha-touch做出來的應用給人的感覺就是nativeapp,非常流暢,如果編碼好的話 ...
  • 在讀取配置文件的每行內容的時候,需要去掉字符串中的空格或則tab鍵,在C裏實現它還是比較容易,但要是用string類來存儲每行字符串的時候,可能就不會象C那樣容易處理字符串的每個字符. 爲了處理方便,利用遞歸來去掉s ...
  • org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'localSessionFactoryB ...