文章图片
文章图片
文章图片
文章图片
Python 有两种错误很容易辨认:语法错误和异常 。
Python assert(断言)用于判断一个表达式 , 在表达式条件为 false 的时候触发异常 。
语法错误
Python 的语法错误或者称之为解析错 , 是初学者经常碰到的书写错误
这个例子中 , 函数 print() 被检查到有错误 , 是它前面缺少了一个冒号: 。
语法分析器指出了出错的一行 , 并且在最先找到的错误的位置标记了一个小小的箭头 。
异常
即便 Python 程序的语法是正确的 , 在运行它的时候 , 也有可能发生错误 。 运行期检测到的错误被称为异常 。
大多数的异常都不会被程序处理 , 都以错误信息的形式展现在这里:
异常以不同的类型出现 , 这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError和 TypeError 。
【Python|python 错误和异常】异常处理
异常捕捉可以使用try/except语句 。
(python集成开发环境(IDE) PyCharm的安装和使用 在 PyCharm 软件中测试)
try 语句按照如下方式工作;
首先 , 执行 try 子句(在关键字 try 和关键字 except 之间的语句) 。
如果没有异常发生 , 忽略 except 子句 , try 子句执行后结束 。
如果在执行 try 子句的过程中发生了异常 , 那么 try 子句余下的部分将被忽略 。 如果异常的类型和 except 之后的名称相符 , 那么对应的 except 子句将被执行 。 如果一个异常没有与任何的 except 匹配 , 那么这个异常将会传递给上层的 try 中 。
一个 try 语句可能包含多个except子句 , 分别来处理不同的特定的异常 。 最多只有一个分支会被执行 。 处理程序将只针对对应的 try 子句中的异常进行处理 , 而不是其他的 try 的处理程序中的异常 。
一个except子句可以同时处理多个异常 , 这些异常将被放在一个括号里成为一个元组 。
最后一个except子句可以忽略异常的名称 , 它将被当作通配符使用 。 你可以使用这种方法打印一个错误信息 , 然后再次把异常抛出 。
try/except...else
try/except 语句还有一个可选的 else 子句 , 如果使用这个子句 , 那么必须放在所有的 except 子句之后 。 else 子句将在 try 子句没有发生任何异常的时候执行 。
以下实例在 try 语句中判断文件是否可以打开 , 如果打开文件时正常的没有发生异常则执行 else 部分的语句 , 读取文件内容:
使用 else 子句比把所有的语句都放在 try 子句里面要好 , 这样可以避免一些意想不到 , 而 except 又无法捕获的异常 。
try-finally 语句
try-finally 语句无论是否发生异常都将执行最后的代码 。
输出结果
- 余承东|Python经典机器学习的四大常用的第三方库
- Python|我15年买的苹果6,现在用起来还是很流畅,现在也没什么大问题
- 郭台铭|没有苹果和富士康,就没有几百万个工作岗位?是郭台铭认知的错误
- Python|充电速度最快的旗舰——小米11TPro
- rich|python终端高亮和色彩渲染库——Rich
- Python|2021年华为的业绩其实比它公布的要好,这是外界所没有料到的
- 程序员|未来替代Python的机器学习编程语言会是Julia吗
- Python|99元换新120W氮化镓遭爆抢!iQOO网页后台都崩了
- Python|2022年空调业三雄争霸, 战火在线上线下全面点燃
- Python|大厂高薪惯坏了年轻人?为啥大厂的年轻人越来越被公司要不起?