Python入门学习之异常处理机制
异常即是一个事件,该事件会在程序执行过程中发生影响程序的正常执行。python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。今天的Python入门学习课程就给大家讲解一下异常处理机制。
当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时,当你的程序中有一些无效的语句时,Python会提示你有错误存在。作为程序员,我们希望程序足够健壮,即使发生异常,也能够很好地恢复过来。那么该如何有效的预防异常出现呢?你可以采用下列几种方法:
1、try/except子句
try…except语句可以用于捕捉并处理错误。通常的语句放在try块中,错误处理语句放在except块中。
语法:
try:
被检测的代码块
except 异常类型:
try中一旦检测到异常,就执行这个位置的逻辑
在 Python 中,try/except 语句用于处理程序执行过程中出现的一些异常情况。需要注意的是,try…except应该尽量少用,因为它本身就是你附加给你的程序的一种异常处理的逻辑,与你的主要的工作是没有关系的,这种东西加的多了,会导致你的代码可读性变差。只有在有些异常无法预知的情况下,才应该加上try…except,其他的逻辑错误应该尽量修正。
2、else
else代码块不是必须的,它只有在需要依赖于try代码块成功执行时才需要。它在try-except中的结构位置如下:
try:
片段1
except 异常对象:
片段2
else:
片段3
try-except-else代码块的工作原理:python尝试执行try代码块中的片段1代码,片段1的代码应该是只有可能引发异常的代码,不会引发异常的代码不要放在try代码块中(片段1)。如果片段1的代码发生了异常,就执行片段2的代码进行异常处理,否则,如果片段1的代码没有发生异常,就执行片段3的代码,片段3的代码应该是仅在片段1的代码成功执行时才需要运行的代码。
3、finally子句
当你正在读文件或还未关闭文件时发生了异常该怎么办呢?你应该使用try…finally语句以释放资源。
try语句可以有一个可选的finally子句。无论什么情况,该子句都会被执行,通常用于释放外部资源。一旦使用,无论文件是否打开成功,都必须清理资源。所以,在finally子句中使用close(),可以确保即使发生异常,文件也能够被关闭。
本文来自千锋教育,转载请注明出处。
Python入门学习之异常处理机制相关推荐
- python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全
近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...
- 自学python推荐书籍2019-2019最全Python入门学习路线,不是我吹,绝对是最全
近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...
- python入门视频教程推荐-python入门学习哪个书比较好(python视频教程知乎)
自学python的学习路线是什么?推荐一些python学习资源 第一段 初级,掌握Python的语法和常用库的使用 这里首先推雪锋在网上的书籍,这是Python2.7的,这本书适合于重头开始一直读完, ...
- Python入门学习---第四天
面向对象编程 类和实例 概念与其他面向对象编程语言类似. 以Student类为例,在Python中,定义类是通过class关键字: class Student(object):pass (object ...
- 自学python买什么书比较好-python入门学习哪个书比较好(python视频教程知乎)
自学python的学习路线是什么?推荐一些python学习资源 第一段 初级,掌握Python的语法和常用库的使用 这里首先推雪锋在网上的书籍,这是Python2.7的,这本书适合于重头开始一直读完, ...
- 字字谏言!Python入门学习教程:关于Python不得不说的事儿
作为程序员,你肯定遇到过这样的领导: "别人还没走,你先走了不合适吧." "不能确定功劳,总得有苦劳吧!你看别人9点谁走了?" 说到996,这很有可能是诱因之一 ...
- python入门学习:4.if语句
python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试 if语句基本格式如下,注意不要漏了冒号 1if 条件 :2 执行1 ...
- 深入对比数据科学工具箱:Python和R的异常处理机制
概述 异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件).Python和R作为一门编程语言自然也是有各自的异常处理机制的,异常 ...
- Python入门学习指南--内附学习框架
Python入门学习指南 原文链接:https://blog.csdn.net/weixin_44558127/article/details/86527360 最近开始整理python的资料,博主建 ...
最新文章
- 当一个View加在一个透明的父View上时,显示会变成透明。
- 2021年春季学期-信号与系统-第十五次作业参考答案-第二小题参考答案
- QDir::toNativeSeparators的使用
- qemu模拟imx6用户态环境
- Intellij启动界面导入maven工程,且该maven工程不具备intellij配置文件
- 浅谈javascript函数劫持
- 进入前端行业之前我们需要了解什么,明白这些就可以
- Python零基础学习笔记(二十)—— tuple元组
- PHP5.3版本安装
- 《RHEL6.3 FTP服务器虚拟用户的配置(含图)》——如此简单
- java.io.FileNotFoundException: ...\ibs\library-1.0.17.jar (系统找不到指定的文件。)
- 企业中MySQL高可用集群架构三部曲之MM+keepalived
- 如何认识会计科目,看懂财务报表?
- 杭州电子科技大学计算机学院复试细则,2020杭州电子科技大学计算机学院考研复试公告...
- 拼多多通用优惠券漏洞被薅羊毛数千万 你的系统有反作弊防护吗?
- 使用cpolar远程连接群晖NAS(创建临时链接)
- js 原生代码跳转页面,返回上一级页面
- 计算机研究与发展投稿记录
- 二级页面的极简模板(帮助理解二级页面)
- python基于pingouin包进行统计分析:使用mediation_analysis函数构建包含协变量的mediation analysis(中介分析)模型、covar参数指定协变量
热门文章
- Swintransformer详细设计文档
- php域名转发,php 域名转发程序
- 拉取数据_Apache Kafka-数据写入过程
- ajax请求后台报没有body_前端常见面试 - 请求篇
- python处理excel奖金_60万行的Excel数据,Python轻松处理
- 单数据源:spring boot+mybatisplus启动后访问接口报错Invalid bound statement (not found)
- Nauuo and Votes
- New Year and the Christmas Ornament
- 【CentOS Linux 7】【Linux网络配置基础】
- Java10-day01【继承(变量-构造方法访问-成员方法 访问)、super内存图、方法重写、继承、包、import、权限修饰符、final、static】