Python入门——断言和异常处理

本文介绍了Python中的异常处理和断言。详细阐述了语法错误与异常的区别,列举了常见异常如AttributeError、TypeError等,并给出了如何捕获、处理及抛出异常的示例,强调了断言在防御性编程中的应用。
摘要由CSDN通过智能技术生成

一、语法错误与异常

1、语法错误:代码不符合解释器或编译器的语法,如:print()输出单词出错

2、逻辑错误:不完成或者不合法的输入或者计算机出问题,如:死循环

异常:执行过程中出现问题导致程序无法执行的问题

1、程序遇到逻辑或者算法问题,如:1 / 0

2、运行过程中计算机错误,如:内存不够

异常出现的过程:

1、异常产生,检查到错误且解释器认为是异常,抛出异常

2、异常处理,截获异常,忽略或者终止程序处理异常

总结:异常都可以是错误,但是错误不一定是异常

异常

运行期检测到的错误被称为异常,大多数的异常都不会被程序处理,都以错误信息的形式展现。

比如说打开当前目录下的文件:

file_name = input("请输入需要打开的文件名:")
f = open(file_name)
print('文件的内容是:')
for i in f:
	print(i)

运行结果:
在这里插入图片描述
如果输入错误的信息,则程序会将一部分信息打印出来,如上面的例子中的FileNotFountError异常,错误信息的前面显示了异常的上下文。

二、Python中常见的异常

在这里插入图片描述

异常类列表

网页链接.
BaseException

  • SystemExit //解释器请求退出
  • KeyboardInterrupt //中断
  • GeneratorExit //生成器(generator)发生异常来通知退出
  • Exception //常规错误的基类
    • StopIteration //迭代器没有更多的值
    • StopAsyncIteration
    • ArithmeticError
      • FloatingPointError
      • OverflowError
      • ZeroDivisionError
    • AssertionError //断言语句失败
    • AttributeError //对象没有这个属性
    • BufferError
    • EOFError
    • ImportError
      • ModuleNotFoundError
    • LookupError
      • IndexError
      • KeyError
    • MemoryError //内存溢出错误(对于Python 解释器不是致命的)
    • NameError //未声明/初始化对象 (没有属性)
      • UnboundLocalError //访问未初始化的本地变量
    • OSError //操作系统错误
      • BlockingIOError
      • ChildProcessError
      • ConnectionError
        • BrokenPipeError
        • ConnectionAbortedError
        • ConnectionRefusedError
        • ConnectionResetError
      • FileExistsError
      • FileNotFoundError
      • InterruptedError
      • IsADirectoryError
      • NotADirectoryError
      • PermissionError
      • ProcessLookupError
      • TimeoutError
    • ReferenceError // 弱引用(Weak reference)试图访问已经垃圾回收了的对象
    • RuntimeError //RuntimeError
      • NotImplementedError
      • RecursionError
    • SyntaxError //Python 语法错误
      • IndentationError
        • TabError
    • SystemError // 一般的解释器系统错误
    • TypeError // 对类型无效的操作
    • ValueError //传入无效的参数
      • UnicodeError //Unicode 相关的错误
        • UnicodeDecodeError
        • UnicodeEncodeError
        • UnicodeTranslateError
    • Warning //警告异常
      • DeprecationWarning //关于被弃用的特征的警告
      • PendingDeprecationWarning //关于特性将会被废弃的警告
      • RuntimeWarning //可疑的运行时行为(runtime behavior)的警告
      • SyntaxWarning //可疑的语法的警告
      • UserWarning //用户代码生成的警告
      • FutureWarning //关于构造将来语义会有改变的警告
      • ImportWarning
      • UnicodeWarning
      • BytesWarning
      • ResourceWarning
下面介绍几个常见的异常:
AttributeError //对象没有这个属性
>>> my.fsa()
Traceback (most recent call last):
  File "<pyshell#51>", line 1, in <module>
    my.fsa()
AttributeError: 'list' object has no attribute 'fsa'
>>> 
TypeError //对类型无效的操作
>>> 1+'1'   #ascll码31
Traceback (most recent call last
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值