下面主要使用的是: 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: 传入一个调用者不期望的值,即使值的类型是正确的

最新文章

  1. SQL Server通过File Header Page来进行Crash Recovery
  2. React Native 接入微博、微信、QQ 登录功能
  3. android 设计
  4. 聊聊JS与设计模式之(工厂Factory)篇------(麦当劳的故事)
  5. centos在yum install报错:Another app is currently holding the yum lock解决方法
  6. css中判断IE版本的语句
  7. node中的Readable - flowing/non-flowing mode
  8. 将Oracle数据库导出为txt格式
  9. vc++调用web服务传输文件
  10. Mybatis 源码简述
  11. poj 2074
  12. css文字上下居中,一行文字居中,两行或多行文字同样居中
  13. C#:decimal的去0显示
  14. Android Studio-引用jar及so文件
  15. ubuntu apt-get方式安装与卸载
  16. Cookie用法
  17. 为 pycharm 修改 Theme & Color
  18. Hive架构及应用介绍【链接】
  19. jenkins 执行shell命令出错command not found 和No such file or directory
  20. Java内部类{[普通内部类][静态内部类]}

热门文章

  1. libui-node体验笔记
  2. 【RF库Collections测试】combine lists
  3. 基于Cocos2d-x学习OpenGL ES 2.0系列——你的第一个三角形(1)
  4. iOS - xib中关于拖拽手势的潜在错误
  5. poj_2441 状态压缩dp
  6. linux发布项目
  7. RxJava && Agera 从源码简要分析基本调用流程(1)
  8. Android MemInfo 各项的意义(转)
  9. sencha touch 入门系列 (一)sencha touch 简介
  10. tomcat日志 之 catalina.log & localhost.log