下面主要使用的是: try .. except .. else .. finally ...,用的是 traceback 这个第三方模块。

 import traceback
#捕捉哪行代码报错
def calc(a,b):
res = a/b
return res def main():
money = input('输入多少钱:')
months = input('还几个月:')
try:
res = calc(int(money),int(months))
except ZeroDivisionError as e: #try里面的代码如果出错了,走except里面的代码
#处理异常,只要把ZeroDivisionError 整个报错类型放到except后面就好
traceback.print_exc() #只是输出报错的详细信息,不影响程序运行
print('还款月数不能小于1',e)
except ValueError as e:
traceback.print_exc()
print('输入必须是整数',e)
except Exception as e: #捕捉所有的异常
traceback.print_exc()
print('未知错误%s' %e)
else:#没有出错的情况下走else
print('每个月应该还%s' %res)#这句应该再成功的时候才输出
finally:
print('哈哈') #不管有咩有捕捉到异常,这里都会执行

常见的异常:

AttributeError: 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x

 
IOError:输入/输出异常,一般是无法打开文件
 
ImportError: 无法导入模块或包,一般是路径问题或名称错误
 
IndentationError:代码没有正确对齐,属于语法错误
 
IndexError:下标索引超出序列边界,比如x只有三个元素,却试图访问x[3]
 
KeyError:试图访问字典里不存在的键
 
KeyboardInterrupt:Ctrl+C被按下
 
NameError:使用一个还未被赋予对象的变量
 
SyntaxError: 语法错误
 
TypeError: 传入对象类型与要求的不符
 
UnboundLocalError:试图访问一个还未被设置的局部变量,一般是由于在代码块外部还有另一个同名变量
 
ValueError: 传入一个调用者不期望的值,即使值的类型是正确的

python3 捕捉代码行出错的小程序的更多相关文章

  1. 统计文件夹下java代码行数的小程序--主要是学习任务队列的思想

    首先感谢czbk的老师,录制的视频,让我们有这么好的学习资料.……—— 统计文件夹java文件的行数,首先想到的肯定是用递归的方法,因为文件夹下面可能包含文件夹,用递归的方法,代码容易写.(这和写简单 ...

  2. java几个easy出错的小程序

    把基本知识过了一遍,发现了几个自己easy 出错的小程序,记录下来.. .. 1.关于try-catch异常 2,JAVA中的自省机制 3.有继承关系的类中静态函数 1,关于try-catch异常 p ...

  3. 用python3统计代码行数

    今天接到一个电话面试,对方问我在一个项目中维护了多少行代码. 我懵逼了,从来没有统计过啊,怎么还会有这种需求? 当时一脸茫然的想了想,回答了一个,呃...差不多两千多行吧...感觉很心虚 挂完电话之后 ...

  4. 分享:50行代码监听watch小程序的globalData

    监听方法: // 在任何组件.页面,例如页面 const app = getApp( ); Page({ onLoad: function( ) { app.watch$('role', ( val, ...

  5. python3自动下载优酷视频小程序

    我们一般都在优酷里看一些好玩的视频,有时候看到精彩的就想下载到本地保存起来留作纪念,在win下可以用维棠等软件下载,但苦了用linux的孩子们.尽管chrome和firefox的一些插件可以下载,但有 ...

  6. 用命令行cmd 编译小程序

    操作命令: C:\Users\Administrator>"C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" /out:D: ...

  7. html5代码如何转成小程序代码

    插件源码 链接:https://pan.baidu.com/s/1pGY8ZsdESaQGEzoEgpb_Rw 提取码:s1ix  放到与pages文件夹同级目录下 js中调用 //引入 var wx ...

  8. 统计C/C++代码行数

    近日在写一个统计项目中C/C++文件(后缀名:C/CPP/CC/H/HPP文件)代码行数的小程序.给定包含C/C++代码的目录,统计目录里所有C/C++文件的总代码行数.有效代码行数.注释行数.空白行 ...

  9. python统计代码行数

    以前写了一个java的统计代码行数的小程序,最近在看python,于是就参考前辈的代码,写了一个统计文件夹下面各种程序的代码的小程序,这里贴出来供大家参考 参考链接: https://gist.git ...

随机推荐

  1. mysql数据库,查看数据存放目录datadir

    需求描述: 在使用数据库,或者刚接手一个数据库时,可以查看该数据库的数据文件存放在什么位置. 操作过程: 1.通过查看datadir系统变量来查看数据目录 [mysql@redhat6 mysql-b ...

  2. jenkins第一次登陆,输入完密码之后,卡在了SetupWizard[jenkins]处

    问题描述: 前几天在安装测试环境的jenkins,启动tomcat之后,通过页面进行登录,输入完初始化的密码之后,就一直卡在 SetupWizard[jenkins]这个地方. 问题如下图: 备注:等 ...

  3. opencv-从图像旋转学习Mat数据訪问

    先看一个简单的样例 代码: // ConsoleApplication3_6_23.cpp : Defines the entry point for the console application. ...

  4. ios button标记

    在写项目的时候,for循环创建多个button,在需要设置背景图片和,需要标记所选中的button的需求, 在这里提供两种方法: 一: 1:把for循环创建的button全部装到一个新建的数组中,把他 ...

  5. android素材资源

    这里先给大家 推荐两个 找图标的 搜索引擎    http://findicons.com/ 这个我也在用 大家也可以试试 找个图标还是很easy的.   http://www.iconfinder. ...

  6. Python 高斯坐标转经纬度算法

    # 高斯坐标转经纬度算法# B=大地坐标X# C=大地坐标Y# IsSix=6度带或3度带def GetLatLon2(B, C,IsSix): #带号 D = math.trunc(C / 1000 ...

  7. Serlvet学习笔记之一 ——实现servlet的3种方法

    1.配置环境,从tomcat的lib下面引入servlet-api.jar包.

  8. 《C++ Primer Plus》第10章 对象和类 学习笔记

    面向对象编程强调的是程序如何表示数据.使用 OOP 方法解决编程问题的第一步是根据它与程序之间的接口来描述数据,从而指定如何使用数据.然后,设计一个类来实现该接口.一般来说,私有数据成员存储信息,公有 ...

  9. PyQt4网格布局

    最通用的布局类别是网格布局(QGridLayout).该布局方式将窗口空间划分为许多行和列.要创建该布局方式,我们需要使用QGridLayout类. #!/usr/bin/python # -*- c ...

  10. jquery单选框radio绑定click事件实现和是否选中的方法

    使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项: 1. ...