错误类型

一、语法错误(Syntax errors)

  1. 代码编译时的错误,不符合Python语言规则的代码会停止编译并返回错误信息。

    发生原因:
    缺少起始符号或结尾符号(括号、引号等)
    缩进错误
    关键字拼写错误

    注:
    语法错误包含在异常基类中

二、异常(Exceptions)

  1. 异常相较于语法错误,异常比较难发现,因为它只在代码运行时才会发生
    如类型错误、数值错误、索引错误和属性错误等。

    发生原因:
    在定义函数之前就引用该函数
    调用不属于某个对象的方法或者属性
    试图将某个值转换为不恰当的数据类型

  2. 六种典型的异常
    除零错误(ZeroDivisionError):除数为0
    名称错误(NameError):变量使用前未进行申明或者初始化
    类型错误(TypeError):某些函数或者方法只适用于特定的数据类型,如果对数据类型的操作不当,就会产生类型错误
    数值错误(ValueError):在输入类型正确的情况下,具体输入值错误
    索引错误(IndexError):超出序列长度的索引操作
    属性错误(AttributeError):方法或者属性不适用该对象

    eg:
    a = 10
    #raw_input 键盘输入方法,可以设置提示
    b = int(raw_input("请输入:"))
    print a/b输出结果:
    #输入0,会出现除零错误
    
  3. 捕获异常
    (1). 代码编写环境自带的高亮显示
    便于发现常规语法错误
    但难于发现异常

    (2). 程序要遇到异常的时候,往往是直接中断,跳出执行。
    但是有些时候,我们需要在遇到异常的时候另外处理,而不是直接停止。

    解决方法:
    try…except…语句
    try关键词内执行的是正常代码,当这部分代码出错的时候,会跳过错误代码后进入except关键词内部,执行此部分的代码

    #语法:
    try:#正常运行的代码
    expect:#不正常运行的代码
    

    try…except…else语句
    在try…except…后加入的else指,当程序没发生错误时执行的部分

    #语法:
    try:#正常运行
    expect(Exceptions1,Exceptions2,...),e:#发生Exceptions1,Exceptions2,...时的处理方式
    else:#正确时执行
    

    finally语句
    finally语句是指,无论程序运行对或错,都会执行的部分

    #语法:
    try:#正常运行
    expect(Exceptions1,Exceptions2,...),e:#发生Exceptions1,Exceptions2,...时的处理方式
    else:#正确时执行
    finally:#无论对错都会执行
    
    eg:
    try:a = 10b = int(raw_input())c = a/bprint c
    except (BaseException),e:print e
    else:print "没有发生异常"
    finally:print "都会执行"输出结果:
    #键盘输入1
    10
    没有发生异常#键盘输入0
    integer division or modulo by zero
    都会执行
    
  4. assert关键字

    #语法:
    assert Exceptions, e
    

    当Expression部分为True时,则正确执行,程序继续下去;当判断为False时,则抛出后面的e错误提示。
    在大型的项目中,assert常被用来作为“防御性编程”

    eg:
    assert 1 == 0, BaseException
    #结果报错,抛出异常
    
  5. 用户自定义异常
    (1). 自定义异常的原因
    Python提供的内建异常不够用
    可以预估某个错误的产生

    (2). 定义异常类继承于Exception类,由它开始扩展

    eg:
    class MyError(Exception):passraise MyError('something error')
    

Python学习——语法错误与异常相关推荐

  1. python中语法错误-Python3 错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  2. python 语法错误 和异常_Python基础知识:新手学Python时常见的语法错误和异常

    大家好,今天我们简单介绍下在学习Python时常见的一些错误和异常. 记得刚接触Python的时候,一条简单的语句在执行的时候却总能遇到报错.然后各种艰难的复查发现可能是循环语句缺少冒号啊.用了中文的 ...

  3. python中语法错误-Python语法错误与异常及异常处理方法

    回顾 在Python进阶记录之基础篇(二十)中,我们介绍了Python面向对象中的类方法和静态方法,以及类中拥有特殊功能的魔法函数.需要重点掌握类方法和静态方法的概念和基本用法,理解魔法函数的作用冰女 ...

  4. python中监控错误的语句_Python学习_07_错误、异常

    地毯式地过语法终于快要结束了... Python中的常见异常 1.NameError:尝试访问一个未初始化的变量 2. ZeroDivisionError:除数为0 3. SyntaxError:Py ...

  5. Python语法错误和异常

    语法错误和异常 语法错误和异常 异常和错误 处理异常 捕获指定异常 异常中的else 异常的finally 自定义异常类型 语法错误和异常 异常和错误 错误分为两种:语法错误与异常 语法错误:指拼写代 ...

  6. python使用-Python3 错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  7. python中语法错误-python冒号语法错误python中如何创建字典

    python字典定义 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ...

  8. 2023.03.09学习笔记----错误和异常

    Python有两种错误:语法错误和异常 语法错误就是格式不规范,没有按照规定的格式来写:如:缺少冒号:,缺少括号()等 异常就是即使不是程序,也有错误那种:如数字和字符串相加,分母为零等 异常处理(t ...

  9. python等号语法错误_Python干货:代码编写规范

    本章节我们来讲述一下Python的编码规范,通过详细对代码编写规则以及命名规范等进行介绍. 1.编写规则 Python采用PEP 8 的编码规范,接下来会讲解一些我们在学习Python过程应该严格遵守 ...

  10. 关于Python中的错误与异常,你是否了解的够仔细?

    每次版本结束都描述这着同样的错误,相似的问题,但始终没见解决.所以今天,我就来总结下Python的错误与异常! 异常与错误 错误 语法错误 可以通过IDE或者解释器给出提示的错误 opentxt('a ...

最新文章

  1. 熟练掌握python是什么概念-想要熟练掌握Python元组?你需要了解这10件应知事项...
  2. 抓取图像像素到int数组
  3. python 字符串find方法怎么用_Python字符串find()方法
  4. 多线程之线程可见性synchronized
  5. httos双向认证配置_Fabric区块链如何启用双向TLS?
  6. 190316每日一句
  7. 用MATLAB解决实际数学问题,利用MATLAB解决高等数学问题.doc
  8. arcmap新手教程_ArcMap 入门
  9. 2020高考数学:常用知识点公式第四章(文科)
  10. ioi 赛制_杨骏昭IOI2019参赛总结
  11. Windows server 2008 R2安装详细教程
  12. install Oracle JDK in Linux:安装oracle JDK in linux
  13. qt 不规则图形 消除锯齿
  14. 完全使用gnu/linux工作
  15. 3D 小姐姐模型是怎么“捏”成的? 初识 Mesh 知识点!
  16. 我是如何诱骗你的-高级钓鱼技术
  17. 水深6到9米有鱼吗_你了解过敦煌吗?走进月牙泉
  18. 中文密室三部曲中最难的一部
  19. 淘宝经典差评和爆笑回复
  20. 我的世界win10版与java版_我的世界java版和win10版的区别

热门文章

  1. Python常用库urllib中urllib.request模块使用详解
  2. python+基于Python的资产管理系统 毕业设计-附源码201117
  3. r library car_医学统计与R语言:协方差分析(ANCOVA)+plus
  4. java调用万网域名接口
  5. Windows 已经激活,但是显示副本不是正版的解决办法
  6. 2010年中国500强(企业名单)
  7. Mac系统解决matplotlib无法显示中文字体
  8. 英文数字验证码识别包
  9. apk一般放服务器哪个位置,apk放在服务器
  10. 鸿蒙系统 安卓碎片化,鸿蒙系统讲解决安卓碎片化问题,4G流畅度媲美12G!