本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。
1、Python程序常见的错误
- 语法错误:不正确的缩进、未定义的变量、括号不匹配等.
- 运行时错误: 尝试访问不存在的文件、内存溢出等
- 类型错误: 将字符串与整数相加等.
- 逻辑错误: 程序没有按照预期的流程执行、条件判断不正确等.
- 输人错误: 无效的输入、输人的数据类型不正确等
1.1常见的错误-缩进错误
引发错误的原因:
- 未正确地缩进代码块:在Python中,代码块是通过缩进来区分的。例如,在i语句、循环、函数等中,代码块必须正确缩进。否则,将会引IndentationError.
- 混合使用不同的缩进方式:在Python中,可以使用空格或制表符(Tab) 进行缩进。但是混合使用这两种方式会导致IndentationError。因此,最好在整个项目中保持使用一种缩进方式
- 错谈的缩进级别:在嵌套代码块中,每一级的缩进必须正确对应。如果嵌套的代码块没有正确的缩进级别,将会引发IndentationError.
- 遗漏或添加了空格或制表符:在代码块中,每一行的缩进必须一致。如果某一行多添加或遗湄了空格或制表符,将会引发IndentationError.
1.2 常见的错误-类型错误
引发错误原因
- 将不同类型的值进行算术运算
- 使用None进行算术运算或比较将不同类型的值转换为预期类型.
- 当函数的期望类型与传递给它的实际类型不匹配时,也会引发TypeError.
1.3 常见的错误-索引错误
引发错误原因:
- 如果索引超出了序列的范围,将会引发IndexError.
- 尝试从一个空(没有元素) 的序列《如列表、元组等) 中获取元素时将会引发IndexError.
- 从字典中获取一个不存在的键时,将会引发KeyError.
- 在进行切片操作时,如果切片索引超出范围。将会引发IndexError.
1.4. 常见的错误-文件未找到错误
引发错误原因:
- 打开一个文件时,如果文件路径设置不正确,那么就会引发文件未找到错误。
- 打开一个不存在的文件时,Python将无法找到该文件,从而引发文件未找到错误。
- 打开的文件位于与当前工作目录不同的位置,你需要提供正确的相对路径.
- 在进行文件操作后,确保使用close()方法关闭文件,如果文件未正确关闭,那么在后续尝试访问或读取该文件时,可能会出现文件未找到错误.
- 如果Python进程没有足够的权限来访问指定的文件,也会引发文件未找到错误,
1.5 常见的错误提示词
![Python语言学习笔记之六(程序调试及异常处理)_第1张图片](http://img.e-com-net.com/image/info8/5911bb59873b47dbb14b35c7b4c11bf6.jpg)
2、异常处理方法
2.1 第一种方法:try except
try except是一种Python中的异常处理结构,用于捕获和处理在程序执行过程中可能出现的异常
try 块中包含可能会引发异常的代码,而 except 块则用于捕获并处理这些异常。当在 try 块中执行代码时,如果发生了异常,程序会跳转到与该异常匹配的except 块进行处理。如果没有适当的 except 块来处理异常,异常将会继续向上传递,直到被顶层的exception handler (默认为 Python 的默认异常处理器)处理。
2.2 第二种方法:try except else
包含try,except和else三个部分。这种结构允许在try块中运行一段可能抛出异常的代码,如果异常被捕获,则执行except块中的代码,否则执行else块中的代码。
try块包含一段可能会抛出异常的代码,except块包含一段处理特定异常的代码。如果在try块中抛出了与except块中指定的异常类型相匹配的异常,那么就会执行这个except块中的代码。
else块包含一段正常情况下执行的代码。只有在try块中的代码成功执行,且没有抛出任何异常时,才会执行这个else块中的代码。
2.3 第三种方法:try except finally
try、except和finally 是 Python 中的异常处理语句,它们可以用来处理在代码执行过程中可能出现的异常情况。
try 语句块中包含可能会引发异常的代码,这些异常会被捕获并处理。在try 块中可以使用 except 语句来指定要捕获的异常类型,并在 except 块中编写相应的异常处理代码.
finally 语句块是可选的,它包含的代码无论是否发生异常都会被执行。这对于在异常处理后需要执行的清理操作非常有用,例如关闭文件或数据库连接等资源。