Python开发【第七章】:异常处理
2016-09-05 14:43
387 查看
一、异常处理
1、异常基础
在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!
上面程序表示try里面的代码如果出现IndexError这种错误,则执行except下面的代码,不会把错误信息显示给用户,程序也不会停止;目前只能处理IndexError这一种异常,想处理多种异常还可以这么写:
万能异常 在python的异常中,有一个万能异常:Exception,他可以捕获任意异常
更多异常
2、异常的其他结构
3、自定义异常
主动触发异常
1、异常基础
在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!
#异常处理 list = ["hello","world"] try: list[3] except IndexError as e: print("IndexError",e) # IndexError list index out of range
上面程序表示try里面的代码如果出现IndexError这种错误,则执行except下面的代码,不会把错误信息显示给用户,程序也不会停止;目前只能处理IndexError这一种异常,想处理多种异常还可以这么写:
#多种异常处理 list = ["hello","world"] try: list[3] except IndexError as e: print("IndexError",e) except KeyError as e: print("KeyError", e) except ValueError as e: print("ValueError",e) # IndexError list index out of range
万能异常 在python的异常中,有一个万能异常:Exception,他可以捕获任意异常
#万能异常处理 list = ["hello","world"] try: list[3] except Exception as e: print("Error",e) #Error list index out of range
ArithmeticError AssertionError AttributeError BaseException BufferError BytesWarning DeprecationWarning EnvironmentError EOFError Exception FloatingPointError FutureWarning GeneratorExit ImportError ImportWarning IndentationError IndexError IOError KeyboardInterrupt KeyError LookupError MemoryError NameError NotImplementedError OSError OverflowError PendingDeprecationWarning ReferenceError RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError
更多异常
2、异常的其他结构
#异常的其他结构 try: # 主代码块 pass except KeyError as e: # 异常时,执行该块 pass else: # 主代码块执行完,执行该块 pass finally: # 无论异常与否,最终执行该块 pass
3、自定义异常
主动触发异常
#主动触发异常 try: raise Exception('错误了。。。') except Exception as e: print(e) #错误了。。。
自定义异常
#自定义异常 class Diyexception(Exception): def __init__(self, msg): self.message = msg def __str__(self): return self.message error = Diyexception("报错了....") try: raise error except Diyexception as e: print(e) #报错了....
相关文章推荐
- Python全栈开发之异常处理
- Python宝典第七章:异常处理与程序调试
- 第七章 Python异常处理
- 项目开发-ASP.NET项目开发中的异常处理
- 基于ARM 的嵌入式系统程序开发要点--(四)异常处理机制的设计
- Python入门的36个例子 之 33 -> try – 异常是不可避免的,关键是怎样处理
- 开发常见错误解决(6)WSE3.0未处理的WebException,未处理的Web异常,基础连接以及关闭
- 开发常见错误解决(6)WSE3.0未处理的WebException,未处理的Web异常,基础连接以及关闭
- 《.net编程先锋C#》第七章 异常处理
- Python异常处理体系简介
- 项目开发经验-ASP.NET项目开发中的异常处理
- 项目开发经验-ASP.NET项目开发中的异常处理
- C#.Net开发基于Oracle数据库系统常见异常处理
- .NET Socket开发(3) 利用Keep-Alive处理Socket网络异常断开的方法
- ubuntu下android开发环境搭建(及错误异常处理)
- 在B/S开发中处理异常
- Struts开发过程中的异常处理机制
- Eclipse插件开发中的异常处理?
- 开发常见错误解决(5)WSE3.0未处理的SoapHeaderException,未处理的SoapHeader异常
- 用python查询MSSQL时比较好的异常处理