• 之前的文章介绍的都是Python的一些语法和使用方法, 详情可参考Python基础知识
  • 然而这里我们要说的是编程中我们最不想见到的, 但是却也是不得不面对的Bug
  • 除此之外, 这里还会介绍一下Python中的文件读取

错误和异常

Python 中(至少)有两种错误:语法错误和异常(syntax errorsexceptions

语法错误

语法错误,也被称作解析错误, 使我们在学习Python过程中最常遇到的错误, 来看看下面两个错误示例:

if True
    print('titan')

# 错误信息:
File "../5-读文件.py", line 19
    if True
          ^
SyntaxError: invalid syntax
  • 语法分析器指出错误出现的文件(File)和错误行(line 19)
  • 在检测到错误的位置前面显示一个小“箭头”
  • 错误是由箭头前面的标记引起的(或者至少是这么检测的)
  • 此处错误是因为Print函数的前面, if语句后面少了一个冒号(:)

异常

  • 在没有语法错误的情况下, 当我们执行当前程序的时候也可能会引发错误
  • 运行期检测到的错误称为 异常,并且程序不会无条件的崩溃
  • 异常能够编译通过, 但是不能运行成功; 而语法错误不能编译成功
print(1 / 0)
# 错误信息:
File "../5-读文件.py", line 22, in <module>
    print(1 / 0)
ZeroDivisionError: division by zero


print(1 + "12")
# 错误信息:
File "../5-读文件.py", line 22, in <module>
    print(1 + "12")
TypeError: unsupported operand type(s) for +: 'int' and 'str'


print(1 + ad * 2)
# 错误信息:
File "../5-读文件.py", line 22, in <module>
    print(1 + ad * 2)
NameError: name 'ad' is not defined
  • 错误信息的第一行, 指出了异常出现的文件和错误行
  • 第二行, 提示了是哪一条语句出现了错误
  • 第三行, 指出了是哪一种异常信息;异常也有不同的类型,异常类型做为错误信息的一部分显示出来
  • 以上三种异常分别为: 零除错误(ZeroDivisionError), 类型错误(TypeError) 和 命名错误(NameError)
  • 相关异常信息官方文档

异常处理

  • 我们都知道, 正常情况下, 程序执行过程中遇到错误或者异常, 程序便会中断执行, 这也就以为着后面的程序将无法执行
  • 但是在Python中, 我们可以针对异常做出一些处理, 使之在遇到异常错误时, 继续执行后面的代码
  • 异常类其实是class类, 所有的错误都是继承自BaseException

注意: 还有一些错误是无法跳过的, 比如内存错误

错误处理的语句

更多相关文章

  1. django模板引擎有错误检查?
  2. [置顶] Python + C/C++ 嵌入式编程(1):多维数组Numpy.Array(
  3. 使用python api递归计算每个Dropbox文件夹大小
  4. 如何在python中播放wav文件?
  5. python多线程文件传输范例(C/S)
  6. Python - 将值打印到新文件?
  7. 如何让TkInter文件选择对话框与IPython / Spyder一起使用?
  8. 用python将二进制整数或字符串写入文件
  9. 使用pandas read_table读取csv文件

随机推荐

  1. android 网络连接
  2. 【教程连载】ArcGIS Runtime for Android
  3. 谷歌Android为何掉队?
  4. 如何离线安装android的sdk
  5. Android 虚拟多开系列二——技术原理
  6. Android的多媒体(Media Sever Framework )
  7. Android Studio上非常棒的插件
  8. Android 热敏打印机打印二维码
  9. 《Android移动应用基础教程》(Android Stu
  10. Android(安卓)版本兼容 — Android(安卓)