目录

认识错误(BUG)

关于错误

第一个演练中的常见错误

异常

try语句

1、格式一:try……except

.2、格式二:try:..... finally:.....

3、格式三:try:……except……finally:……

4、格式四:try:..........except:……

5、格式五:try:.....except:.....else:……


认识错误(BUG)

关于错误
  • 编写的程序不能正常执行,或者执行的结果不是我们期望的

  • 俗称 BUG,是程序员在开发时非常常见的,初学者常见错误的原因包括:

    1. 手误

    2. 对已经学习过的知识理解还存在不足

    3. 对语言还有需要学习和提升的内容

  • 在学习语言时,不仅要学会语言的语法,而且还要学会如何认识错误和解决错误的方法

第一个演练中的常见错误
  • 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.xPython 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("有没有异常都要执行")
04-25 18:53