python程序运行时报错,怎么处理?
PS C:\mystuff> python test06.py
Traceback (most recent call last):
File "test06.py", line 12, in
url = sys.argv[1]
IndexError: list index out of range
===========================
'''
Created on 2013-6-20
@author: zcfrank1st
'''
import urllib
from bs4 import BeautifulSoup
import fnmatch
import sys
if __name__ == '__main__':
url = sys.argv[1]
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
for link in soup.find_all('a'):
content = link.get('href')
if type(content)==type(None):
pass
elif fnmatch.fnmatch(content, "*.mp4"):
print content
else:
pass 展开
1.异常种类
python中的异常种类非常多,每个异常专门用于处理某一项异常!!!
下面是一些常用的异常:
2.异常基础
在编程过程中为了增加友好性、容错性和健壮性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!还有,有时我们不希望一个小bug的出现让整个程序都崩溃,自动退出或者蓝屏,我们需要抓取这个错误异常,并进行处理,让用户能够继续使用下去。
3.注:在python3中,except Exception , ex的别名方法已经不能使用,逗号被认为是两种异常的分隔符,而不是取别名。
下面是一个实例:
4.更多的异常在这里:
如果程序发生的异常不在你设定的异常之中,那么依然会报错。
5. 这个例子中,你只设置了捕获IndexError,而实际会发生一个ValueError,因此它依然会报错。
要同时捕获多个异常如何写呢?
7.程序会按异常的先后顺序进行捕获,任意一个被捕获,则进行异常处理,并忽略try会后的代码和别的异常处理代码。
万能异常:Exception
在python的异常中,有一个万能异常:Exception,他可以捕获任意异常,相当于一个人把所有的活全干了。那你可能要问了,既然有这个万能异常,其他异常是不是就可以不需要了!
当然不是,对于特殊处理或提醒的异常需要先定义,用于准确判断错误类型,存储错误日志,而最后定义Exception用来确保程序正常运行。
这个要看具体的错误,一般来说python脚本错误,如果是命令行的,一般是捕获ctrl-c事件吧。
源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的“语言”。音乐家用五线谱和音符,建筑师用图纸和笔,那程序员的工作的语言就是“源码”了。
计算机里面运行的所有东西都是用程序编出来的(包括操作系统,如Windows,还有Word等,网络游戏也一样),而编写程序要用到计算机语言,用计算机语言直接编出来的程序就叫源码,比如用VisualBasic编写的源码文件一般为.bas文件,而用C++编写的一般为.cpp文件,源代码不能直接运行,必须编译后才能运行。源码经过编译处理后就可以直接在操作系统下运行了。