¶errors and exceptions
¶syntax errors
- 书写不当造成
 一般显示 SyntaxError错误
¶exceptions
- 执行过程中检测到的错误
- 只是一些小问题,不影响程序运行的错误
| 1 | 10 * (1/0) | 
¶handing exceptions
- 
用try…except语句来捕捉异常错误 
 try后面接需要运行的语句
 except后面接需要捕捉的异常错误,用自己的语言来描述这个错误
- 
如果异常没有发生,则运行try后面的语句,如果异常发生,则运行except后面的语句 
| 1 | #!/usr/bin/env python | 
- 输出
| 1 | Please enter a number :qw | 
- 一个except 子句可以将多个异常命名为一个元组
| 1 | except (NameError,TypeError,RuntimeError): | 
- 如果有相同类或者基类,一个except子句是与一个异常想适配的handle_except_class
| 1 | class B(Execption): | 
- 捕获详细的异常信息handle_except_sys
| 1 | #!/usr/bin/env python | 
- 实例化参数handle_except_raise
| 1 | #实例化参数,在添加到异常中 | 
- 发生在函数里面的异常也可以用try捕获handle_except_function
| 1 | #!/usr/bin/env python | 
- 输出
| 1 | Handling run-time error division by zero | 
¶raising exceptions
- raise 语句允许强制指定异常发生
| 1 | #有参数 | 
- 确定一个异常是否被引发,但不处理
| 1 | try: | 
¶user-defined exceptions
- 创建异常类来命名自己的异常usr_defined_exception
| 1 | #!/usr/bin/env python | 
¶defining clean-up actions
- 在所有情况下被定义的清理动作define_clean_up_action_finally
| 1 | try: | 
- try…except…else…finally语句连用define_clean_up_action_else
| 1 | #! /usr/bin/python3 | 
- 输出
| 1 | the result is 2.0 | 
- conclusion
 try:后面接正确运行的语句,如果没有异常,则运行
 except:后面接异常类型,自定义异常描述
 finally:不论是否发生异常,都会运行
 else:与其他语句中的用法相同,用在异常语句中,意味着异常不会发生
 raise:异常引发语句
¶predefined clean-up actions
- with 语句处理异常
| 1 | for line in open("myfile.txt"): | 



