异常处理
为什么要处理异常?
在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!
捕获异常:
一般来说,你不用去记住那么多异常的名字,等到程序报错了,你就知道是什么异常了。所以这里写捕获异常的几种情况。
1.通用用法
Exception,他可以捕获任意异常。如下:
s1 = "hello"
try :
int(s1)
except KeyError:
print("键错误!")
except IndexError:
print("下标错误!")
except Exception as e:
print(e)
这种方法可以让程序不崩溃,是在你不知情的情况下跳过的。
2.规范用法
1 try:
2 # 主代码块
3 pass
4 except KeyError,e:
5 # 异常时,执行该块
6 pass
7 else:
8 # 主代码块执行完,执行该块
9 pass
10 finally:
11 # 无论异常与否,最终执行该块
12 pass
这是比较规范的用法,保证程序不会崩溃。如下:
1 inp = input("INput : ")
2 try :
3 print(inp[10])
4 except KeyError:
5 print("键错误!")
6 except IndexError:
7 print("下标错误!")
8 else:
9 print(len(inp))
10 finally:
11 print(inp.upper())
3.主动抛出异常
1 try:
2 raise Exception('错误了。。。')
3 except Exception,e:
4 print e
4.自定义异常
是什么让你疯狂?