语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译
逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成、计算或者输出结果需要的过程无法执行。
异常通过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