目录
.2、格式二:try:..... finally:.....
3、格式三:try:……except……finally:……
5、格式五:try:.....except:.....else:……
认识错误(BUG)
关于错误
-
编写的程序不能正常执行,或者执行的结果不是我们期望的
-
俗称
BUG
,是程序员在开发时非常常见的,初学者常见错误的原因包括:-
手误
-
对已经学习过的知识理解还存在不足
-
对语言还有需要学习和提升的内容
-
-
在学习语言时,不仅要学会语言的语法,而且还要学会如何认识错误和解决错误的方法
第一个演练中的常见错误
-
1> 手误,例如使用
pirnt("Hello world")
NameError: name 'pirnt' is not defined
名称错误:'pirnt' 名字没有定义
-
2> 将多条
print
写在一行
SyntaxError: invalid syntax
语法错误:语法无效
-
3> 缩进错误
IndentationError: unexpected indent
缩进错误:不期望出现的缩进
-
4>
python 2.x
默认不支持中文
目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 3.x
-
Python 2.x
默认不支持中文Python 3.x
默认支持中文 -
Python 2.x
的解释器名称是python
需要在安装python2
的目录把python.exe
文件更改为python2.exe
-
Python 3.x
的解释器名称是python
SyntaxError: Non-ASCII character '\xe4' in file 01-HelloPython.py on line 3,
but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details
语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 '\xe4',但是没有声明文件编码 请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
异常
-
异常是指事件会在程序执行过程中发生错误,影响了程序的正常执行
-
一般情况下,在
python
无法正常处理程序时就会发生一个异常,即报出错误 -
当
python
脚本发生异常时我们需要捕获处理它,否则程序会终止执行
try语句
try里面一般放你觉得可能会出错的代码
1、格式一:try……except
-
自动引发异常(常用),在自动化时,可以用来写日志,将报错写入日志中,方便查看问题。
input_str = input('请输入一个数字:') try: print('输入内容是%d'%input_str) except TypeError: # 自动引发异常 raise TypeError('请输入数据类型的正确数字!')
.2、格式二:try:..... finally:.....
-
try:..... finally:..... :先运行try,然后再运行finally,不管try里面代码运行是否失败
try: print("进入try") file = open(r'd:\test.txt',mode='r') print("已经打开了文件") finally: file.close() print('结束')
3、格式三:try:……except……finally:……
-
不管try执行是否正常,都会执行finally,只有异常才会执行except
try: print("进入try") file = open(r't.txt',mode='r') print("已经打开了文件") except Exception as e: print('进入except') print('报错信息:',e) finally: print('结束')
4、格式四:try:..........except:……
-
当try运行正常不执行except,当try运行不正常,运行except。
try: print("进入try") file = open(r'd:\test7.txt',mode='r') print(file.read()) print("已经打开了文件") except Exception as e: print('进入except') print('报错信息:',e) #Exception是常规错误的基类;BaseException是所有异常的基类。
5、格式五:try:.....except:.....else:……
-
try: ..... except: .....else :……当try代码正常,则不执行except的代码,但是要执行else的代码;反之要执行except,而不执行else
try: print("进入try") file = open(r'd:\test08.txt',mode='r') print("已经打开了文件") except Exception as e: print('进入except') print('报错信息:',e) else: print("其它") finally: print("最终的") #捕获多个异常举例 try: 1/0 except IndexError: print("异常1") except ZeroDivisionError: print("除数不能为0") else: print("没有异常") finally: print("有没有异常都要执行")