Python学习笔记----try...except...else

Python 中的异常处理:

一、try...except...else

程序运行过程中会出现类似以下错误:

1 a=10
2 b=0
3 c=a/b
4 print(c)

运行结果为:

Traceback (most recent call last):
File "D:/Study/s14/day4/临时.py", line 13, in <module>
c=a/b
ZeroDivisionError: division by zero

 

为了处理异常,可以将代码更改成:

 1 a=10
 2 b=0
 3 try:
 4     c=a/b
 5     print(c)
 6 except ZeroDivisionError:
 7     print('message')
 8 else:
 9     print('no error')
10 print ("done")

当发生异常

 

ZeroDivisionError
会返回:
'message'
'done'
如果没有异常,则返回:
'no error'
'done'

如果可能出现的异常不止一个,可以用以下方式填写:

 1 a=10
 2 b=0
 3 try:
 4     c=a/b
 5     print(c)
 6 except (ZeroDivisionError,EOFError):
 7     print('message')
 8 else:
 9     print('ok')
10 print ("done")

如果except后不加任何解释,则默认所有错误

二、常见异常

 

异常名称描述
BaseException所有异常的基类
SystemExit解释器请求退出
KeyboardInterrupt用户中断执行(通常是输入^C)
Exception常规错误的基类
StopIteration迭代器没有更多的值
GeneratorExit生成器(generator)发生异常来通知退出
SystemExitPython 解释器请求退出
StandardError所有的内建标准异常的基类
ArithmeticError所有数值计算错误的基类
FloatingPointError浮点计算错误
OverflowError数值运算超出最大限制
ZeroDivisionError除(或取模)零 (所有数据类型)
AssertionError断言语句失败
AttributeError对象没有这个属性
EOFError没有内建输入,到达EOF 标记
EnvironmentError操作系统错误的基类
IOError输入/输出操作失败
OSError操作系统错误
WindowsError系统调用失败
ImportError导入模块/对象失败
KeyboardInterrupt用户中断执行(通常是输入^C)
LookupError无效数据查询的基类
IndexError序列中没有没有此索引(index)
KeyError映射中没有这个键
MemoryError内存溢出错误(对于Python 解释器不是致命的)
NameError未声明/初始化对象 (没有属性)
UnboundLocalError访问未初始化的本地变量
ReferenceError弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError一般的运行时错误
NotImplementedError尚未实现的方法
SyntaxErrorPython 语法错误
IndentationError缩进错误
TabErrorTab 和空格混用
SystemError一般的解释器系统错误
TypeError对类型无效的操作
ValueError传入无效的参数
UnicodeErrorUnicode 相关的错误
UnicodeDecodeErrorUnicode 解码时的错误
UnicodeEncodeErrorUnicode 编码时错误
UnicodeTranslateErrorUnicode 转换时错误
Warning警告的基类
DeprecationWarning关于被弃用的特征的警告
FutureWarning关于构造将来语义会有改变的警告
OverflowWarning旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning关于特性将会被废弃的警告
RuntimeWarning可疑的运行时行为(runtime behavior)的警告
SyntaxWarning可疑的语法的警告
UserWarning用户代码生成的警告





转载于:https://www.cnblogs.com/unicornGd/p/7473682.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab_ga(),matlab遗传算法ga函数

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼function optimization4()A[];b[];Aeq[];beq[];LB[0.1;0.03;0.03;0.1;0.03;0.03];UB[0.4;0.06;0.06;0.4;0.06;0.06];nvars6;optionsgaoptimset(TimeLimit,inf,PlotFcns,{gaplotbestf},PopulationSize,10,Generations,15,PopInitRan…

Windows负载机JVM 远程监控Linux服务器下tomcat

基本是跟着网上的操作进行的&#xff0c;除了遇到一个Local host name unknown的问题&#xff1a; 一、Linux服务器操作部分 服务器地址&#xff1a;10.64.111.68 首先配置JMX&#xff1a; 1.找到jdk目录 [rootC68 demo]# echo $JAVA_HOME /root/demo/jdk1.8.0_60 2. cd 到/roo…

idea struts插件_使用Struts 2的查询网格(无插件)

idea struts插件当将jQuery与struts 2结合使用时&#xff0c;开发人员被说服使用struts2-jQuery插件 。 因为大多数论坛和其他Internet资源都支持jQuery struts2 jQuery插件。我有这种经验。 我想使用带有struts 2的jQuery网格插件&#xff0c;但不使用struts2 jQuery插件。 对…

matlab 值法确定各指标权重,Matlab学习系列19. 熵值法确定权重

19. 熵值法确定权重一、基本原理在信息论中&#xff0c;熵是对不确定性的一种度量。信息量越大&#xff0c;不确定性就越小&#xff0c;熵也就越小&#xff1b;信息量越小&#xff0c;不确定性越大&#xff0c;熵也越大。 根据熵的特性&#xff0c;可以通过计算熵值来判断一个事…

在Sqoop中管理密码的关键提示

Sqoop是用于Hadoop的流行数据传输工具。 Sqoop允许从结构化数据存储&#xff08;如关系数据库&#xff0c;企业数据仓库和NoSQL数据存储&#xff09;轻松导入和导出数据。 Sqoop还与Hive&#xff0c;HBase和Oozie等基于Hadoop的系统集成。 在此博客文章中&#xff0c;我将介绍…

php 商城套餐搭配功能,速卖通商品搭配套餐功能已上线!设置速卖通搭配套餐仅需三步...

据雨果网获悉&#xff0c;速卖通商品搭配套餐功能已于 10 月 19 日上线。商品搭配套餐的主要功能及作用&#xff0c;主要是帮助速卖通的卖家&#xff0c;通过自行选择商品&#xff0c;设置不同商品间搭配优惠促销价格&#xff0c;提高商品推广内容的丰富性及专业性&#xff0c;…

二维码支付原理分析及安全性的探究

“二维码支付”安全么&#xff1f; 1 引言 随时支付宝和微信的线下不断推广&#xff0c;目前使用手机进行二维码支付已经逐渐成为一种时尚了。 但是大家有没有思考过&#xff1a;这种便捷的支付方式到底安不安全呢&#xff1f;今天我们就针对这个话题来进行一些探讨吧。 2 …

python创建一个包,如何从python包创建一个osx应用程序/ dmg?

我不知道正确的方法&#xff0c;但是这种手动方法是我用于简单脚本的方法&#xff0c;似乎已经适当地执行了。我会假设我所在的任何目录&#xff0c;我的程序的Python文件都在相对的src /目录中&#xff0c;我要执行的文件(具有正确的shebang和执行权限)被命名为main.py。$ mkd…

自定义类加载器

转载自&#xff1a;http://www.cnblogs.com/xrq730/p/4847337.html 为什么要自定义类加载器转载于:https://www.cnblogs.com/IvySue/p/7490656.html

guice spring_Spring vs Guice:重要的一个关键区别

guice spring根据弹簧对象的名称识别它们 不管使用XML还是Java配置都没有关系&#xff0c;Spring范围大致类似于Map <String&#xff0c;Object>结构。 这意味着您不能有两个名称相同的对象 。 为什么这是一件坏事&#xff1f; 如果您的大型应用程序具有许多Configuratio…

query row php,php – 如何在Codeigniter上使用$query- row获取类对象

我目前正在使用Codeigniter框架.在下面的代码中,我想获得一个Animal_model对象,而不是stdClass对象.class Animal_model extends CI_Model{var $idanimal;var $name;public static $table animals;function __construct() {parent::__construct();}function getone(self $anim…

vue2.0版本指令v-if与v-show的区别

v-if&#xff1a; 判断是否加载&#xff0c;可以减轻服务器的压力&#xff0c;在需要时加载。 v-show&#xff1a;调整css dispaly属性&#xff0c;可以使客户端操作更加流畅。 v-if示例&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF…

oracle 中增加行,Oracle中实现FORM表单插入、锁定、更新行、删除行的包

此包写在oracle数据库中&#xff0c;供Form表单调用&#xff1a;CREATE OR REPLACE PACKAGE BODY cux_main_pkg AS/*** PROCEDURE: insert_row()***/PROCEDURE insert_row(x_row_id IN OUT VARCHAR2,x_insp_header_id IN OUT NUMBER,p_org_id IN…

IE8兼容问题

setInterval 的用法如下&#xff1a; function func() { setInterval("alert()", 1000, this); // chrome 适用, 但不能传参数 setInterval("alert", 1000, this); // chrome、ie8 都不适用 setInterval(alert, 1000, this); // chrome 适用&…

CUBA平台正在开源

期待已久的时刻已经到来&#xff0c;现在我们很高兴地宣布&#xff0c; CUBA平台终于加入了自由软件社区&#xff01; 从现在开始&#xff0c;平台的所有运行时部分都是开源的&#xff0c;并根据Apache 2.0许可进行分发。 这意味着您将完全可以免费创建和分发应用程序&#xff…

oracle 9i 手工建库,简单记录Oracle 9i数据库手工建库过程

简单记录Oracle 9i数据库手工建库过程Oracle 9i手工建库By Oracle老菜今天客户要用oracle 9.2.0.5&#xff0c;aix 6.1已经不支持了&#xff0c;只好从别的数据库把软件拷贝过来重编译。但是建库只能用手工建库了。很久没有使用手工建库了&#xff0c;简单记录下建库过程1.设置…

LazyInitializationException的四个解决方案–第2部分

本文从本教程的第1部分继续。 有状态EJB使用PersistenceContextType.EXTENDED进行负载收集 该方法只能应用于与Full JEE环境兼容的应用程序&#xff1a;将EJB与PersistenceContextType.EXTENDED一起使用。 检查下面的代码&#xff0c;DAO的样子&#xff1a; package com.ejb…

SecureCRT在卸载时似乎会同时删除系统自带的Consolas字体

今天卸载了SecureCRT的安装板&#xff0c;改用绿色版&#xff0c;没想到删完之后再运行ItelliJ IDEA&#xff0c;所有的字包括行号都变成乱码了&#xff0c;而且这些乱码并不是很乱&#xff0c;英文大部分都是注音符号&#xff0c;中文字还能正常显示&#xff01;仔细查看各种编…

SpringBoot:使用JdbcTemplate

Spring使用JdbcTemplate在JDBC API的基础上提供了一个很好的抽象&#xff0c;并且还使用基于注释的方法提供了强大的事务管理功能。 首先&#xff0c;通过注册DataSource &#xff0c; TransactionManager和JdbcTemplate Bean&#xff0c;快速浏览一下我们通常如何使用Spring的…

混合高斯模型(Mixtures of Gaussians)和EM算法

混合高斯模型&#xff08;Mixtures of Gaussians&#xff09;和EM算法 这篇讨论使用期望最大化算法&#xff08;Expectation-Maximization&#xff09;来进行密度估计&#xff08;density estimation&#xff09;。 与k-means一样&#xff0c;给定的训练样本是&#xff0c;我们…