目录

前言

我们写的python程序,经常会出现异常与错误,从而导致我们的程序崩溃,今天我们就来学习一下python的异常处理,以便日后的编写流畅的代码。

(一)常见的异常

说明 错误类型
语法错误
除零异常
名称异常
类型异常
索引异常
键异常
值异常
属性异常
迭代器异常

上面的这些异常都是继承:Exception对象。

(二)异常的处理

1.异常的预防:

(1)说明:

有些异常时可以避免的,我们可以添加判断语句,来预防避免异常的发生。

也就是添加容错机制。

(2)源代码:

"""
有一些异常我们是可以预防的,其办法是就添加容错机制
""" def div(x, y):
if y != 0:
return x/y
print("请注意分母不能为零")
return 0 div(1, 0)

(3)输出效果:

2.解决已经知道类型的异常

(1)说明

解决异常的完整框架:

try:

可能出现异常的代码(可以写多个异常的代码,不过只要遇到第一个异常,就结束该部分的代码,跳转到except部分。)

except 错误类型 [as zero]:

发生该错误类型的异常,执行的代码。(可以写多个except 语句并列,从而来接收有可能的异常。)

else:

不发生异常,执行的代码。

finally:

不管发生与不发生,都有要执行的代码。

(2)源代码

try:
1/0 except ZeroDivisionError as zero:
print("除零异常", zero) else:
print("没有发生异常") finally:
print("我最后都是要执行的")

(3)输出效果

3.合并处理多个异常

(1)说明

except 后面可以接收元组类型的多个异常类型名。

except (error1, error2……)

(2)源代码

try:
1/0
print(name)
except (ZeroDivisionError, NameError) as zero:
print("异常类型", zero) else:
print("没有发生异常") finally:
print("我最后都是要执行的")

(3)输出效果

4处理未知类型的异常

(1)说明

由于大部分的异常对象都是继承Exception对象。所以我们可以用Exception来接收未知的错误类型。

(2)源代码

try:
1/0
print(name) except Exception as ec:
print("异常类型", ec) else:
print("没有发生异常") finally:
print("我最后都是要执行的")

(3)输出效果

(三)with语句

(1)说明:

with语句也具有自动的容错机制,这里只记录with语句用于文件的操作。

(2)源代码:

"""
高级的文件操作--不需手动关闭文件,并且具有容错机制
"""
with open("test.txt", "r") as f:
# f文件对象
content = f.read()
print(content)

(3)输出效果:

test.txt文件内容是:

1234546

fldklfj dfkkldjf

作者:Mark

日期:2019/02/11 周一

7.1Python异常处理的更多相关文章

  1. python之异常处理模块

    一 . python 内置的异常类 在程序运行过程中,如果出现错误,python解释器会创建一个异常对象,并抛出给系统运行时.即程序终止正常执行流程,转而执行异常处理流程. 在某种特殊条件下,代码中也 ...

  2. 关于.NET异常处理的思考

    年关将至,对于大部分程序员来说,马上就可以闲下来一段时间了,然而在这个闲暇的时间里,唯有争论哪门语言更好可以消磨时光,估计最近会有很多关于java与.net的博文出现,我表示要作为一个吃瓜群众,静静的 ...

  3. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  4. 异常处理汇总 ~ 修正果带着你的Net飞奔吧!

    经验库开源地址:https://github.com/dunitian/LoTDotNet 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983 ...

  5. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  6. IL异常处理

    异常处理在程序中也算是比较重要的一部分了,IL异常处理在C#里面实现会用到一些新的方法 1.BeginExceptionBlock:异常块代码开始,相当于try,但是感觉又不太像 2.EndExcep ...

  7. Spring MVC重定向和转发以及异常处理

    SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向.而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器.对于 ...

  8. 【repost】JS中的异常处理方法分享

    我们在编写js过程中,难免会遇到一些代码错误问题,需要找出来,有些时候怕因为js问题导致用户体验差,这里给出一些解决方法 js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要 ...

  9. 札记:Java异常处理

    异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...

随机推荐

  1. 如何才能够系统地学习Java并发技术?

    微信公众号[Java技术江湖]一位阿里Java工程师的技术小站 Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容. 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类.当然这些 ...

  2. TCP编程实践小结1

    说起TCP/IP协议,大家估计都能说出个一二,但是估计很少有人能够深入的理解这个协议,原因有这么几个: 协议本身确实复杂 入门教材没选对,太抽象了,导致大家浅尝辄止 学习过程中如果没有配合实践理解,过 ...

  3. 【JAVA WEB教程】jsp环境搭建+部署网站(eclipse+tomcat)【详细+图文】

    下载tomcat7.X   下载地址为:http://tomcat.apache.org/download-70.cgi 下载完成之后就开始安装   Next   I Agree   选中所有的复选框 ...

  4. IIS7 开发与 管理 编程 之 Microsoft.Web.Administration

    一.引言: 关于IIS7 Mocrosoft.Web.Administration  网上这方面详细资料相对来说比较少,大家千篇一律的(都是一篇翻译过来的文章,msdn 里面的实列没有).前段做了一个 ...

  5. over()的用法

    开窗函数over的常用方法-- 1.为每条数据显示聚合信息-- 2.为每条数据提供分组的聚合函数结果-- 3.与排名函数一起使用 -- 1 为每条数据显示聚合信息 -- 准备一些数据-- 该查询表只能 ...

  6. 菜鸟入门【ASP.NET Core】8:Middleware管道介绍、自己动手构建RequestDelegate管道

    中间件:是汇集到以处理请求和响应的一个应用程序管道的软件. 每个组件: 可以选择是否要将请求传递到管道中的下一个组件. 之前和之后调用管道中的下一个组件,可以执行工作. 使用请求委托来生成请求管道.  ...

  7. Mongodb 集群实战

    该实战过程完全跟着官网一步一步实现 ,官网教程:https://docs.mongodb.com/manual/tutorial/atlas-free-tier-setup/ 使用Mongo Shel ...

  8. Bootstrap 、AngularJs

    SPA 全称:single-page application单页面应用 说明:类似原生客户端软件更流畅的用户体验的页面.所有的资源都是按需加载到页面上. JSR 全称:Java Specificati ...

  9. ES 5 中 判断数组的方法

    源代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  10. git命令详解( 四 )

    此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git ...