文法錯誤:軟體的結構上有錯誤而導緻不能被解釋器解釋或不能被編譯器編譯
邏輯錯誤:由于不完整或不合法的輸入所緻,也可能是邏輯無法生成、計算或者輸出結果需要的過程無法執行。
異常通過try語句來檢測
<a href="http://s3.51cto.com/wyfs02/M01/71/00/wKiom1XDAqSDVv5xAACfWsq-RPk649.jpg" target="_blank"></a>
1
2
3
4
5
6
7
8
<code>def</code> <code>add_to_server():</code>
<code> </code><code>try</code><code>:</code>
<code> </code><code>'''function content...'''</code>
<code> </code>
<code> </code><code>except</code> <code>Exception,error:</code>
<code> </code><code>print</code><code>(error)</code>
<code> </code><code># 用 Exception 來代替</code>
任何在try語句塊裡的代碼都會被監測,以檢測有無異常發生
try-except:檢測和處理異常
可以有多個except
支援使用else子句處理沒有探測異常的執行的代碼
try-finally:僅檢查異常并做一些必要的清理工作
僅能有一個finally
try語句的複合形式:
try-except-finally
try語句可以帶多個except子句,還可以有一個可選的else子句,文法格式如下:
9
10
11
<code>try</code><code>:</code>
<code> </code><code>try_suite</code>
<code>except</code> <code>Exception1,[reason]:</code>
<code> </code><code>suite_exception1</code>
<code>except</code> <code>(Exception2,Exception3, ...)[,reason]: 一次捕獲多個異常要定義為元組</code>
<code> </code><code>suite</code>
<code> </code><code>...</code>
<code>except</code><code>:</code>
<code>else</code><code>:</code>
<code> </code><code>else_suite</code>
except分句個數沒有限制,但else隻能有一個。
沒有異常發生時,else分句才會執行
沒有符合的except分句時,異常會向上傳遞直到進入try或者到程序的頂層報出異常。
例子:
<a href="http://s3.51cto.com/wyfs02/M02/70/FD/wKioL1XDCAXwBH2CAADuRH-CrVs479.jpg" target="_blank"></a>
try-finally 語句
<a href="http://s3.51cto.com/wyfs02/M01/70/FD/wKioL1XDBfCxgxhUAAK3UfosUrY043.jpg" target="_blank"></a>
複合用法:
<a href="http://s3.51cto.com/wyfs02/M01/71/01/wKiom1XDBI6xEFjwAAE1SO0zfPg025.jpg" target="_blank"></a>
Python 解釋器啟動
python [options] [-c cmd | filename | - ] [args]
-h列印所有可用指令行選項的清單
-i在程式執行後進入互動模式
-O優化模式
-OO優化模式,在建立.pyo檔案時删除文檔字元串
-v詳細模式,跟蹤導入語句
-c cmd 以字元串形式執行cmd
本文轉自qw87112 51CTO部落格,原文連結:http://blog.51cto.com/tchuairen/1682239