天天看點

Python 異常

文法錯誤:軟體的結構上有錯誤而導緻不能被解釋器解釋或不能被編譯器編譯

邏輯錯誤:由于不完整或不合法的輸入所緻,也可能是邏輯無法生成、計算或者輸出結果需要的過程無法執行。

異常通過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