天天看点

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