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) 成員關系操作符使用來判斷一個元素是否屬于一個序列的.比如對字符串類型來說,就是判斷一個字符是否屬于這個字符串,對元祖類型來說,就代表了一個對象是否屬于該 ...
一周排行
  • 一.編寫接口代碼 package cn.com.songjy.mule; public interface IHelloWord { String hello(String name); }   二.編寫接口實現類代 ...
  • IE相關的樣式兼容性解決方案
    由于是非專業寫樣式的人,所以想記錄下已解決過的ie樣式兼容問題,以作備忘.不定時更新. 圖 ...
  • [email protected] 有兩種方式載入樣式文件,一種是link元素,另一種是CSS [email protected]@[email protected][email protected] ...
  • down vote accepted You can modify the CMAKE_CXX_FLAGS_<Build Type> and/orCMAKE_C_FLAGS_<Build Type& ...
  •     我們在linux下設置dns時,一般都是在/etc/resolv.conf文件進行設置,一般也就設置幾條nameserver而已,其實該文件還是可以根據選項進行優化的.     resolv.conf文件中包 ...
  • Linux下多命令執行:1.執行多條命令,不確保每條執行成功. 多條命令之間用分號(;)隔開,比如:command1 || command2 || command3 三條命令中都會執行,不確保每條命令執行成功.2.執 ...
  • 大三你怎麽度過,建議10級同學們先看 (如果你還在爲大學兩年浪費的時光懊悔不已,那麽請看看這篇文章吧,我相信只要擁有一顆清醒認識自己的心,什麽時候做出決定都不晚)       如果你要問大學四年裏哪一年最重要,我肯定 ...
  • rsync自己技術總結 rsync安裝(伺服器和客戶端都要進行) 解壓所下載的安裝包 tar –xzvf 包名.tar 進入所解壓的文件中 ./configure make make install 伺服器配置 案例 ...
  • html { height:100%; } <!-- lang: css --> body{ margin:0px; min-height:100%; height:auto !important; he ...
  • 1    計算機學報    北京    中國計算機學會等 2    軟件學報    北京    中國科學院軟件研究所 3    計算機研究與發展    北京    中國科學院計算技術研究所等 4    自動化學報   ...