写代码的时候会遇到各种各样的异常,那么代码就不会继续往下走了。比如说10除以0是错误的,因为除数不能为零学会捕捉异常,在异常出现的时候我们要做什么操作。

捕捉异常

d={}                #例如定义字典
try:
    # d['name']     #只给一个keys
    c = 10 / 0      #例如除数为0
except Exception as e:           #Exception可以捕捉任何异常(有很多可以精确定义各种异常的关键词)
    print('出现异常了',e)
else:                           #没有出现异常继续运行
    print('没出现异常正常运行的程序')
finally:
    print('有没有出现异常都走这')

在写代码的时候,需要考虑这段代码可能会出现什么样的错误,然后做对应的处理。

  try:里面就是包含你做处理的代码,

  except:里面就是出了某种错误后,怎么去处理。

  e:代表错误信息

  finally:不管是否有异常都会执行Finally后的程序

  else:如果出异常就执行except后的程序,不出异常就走else后程序

价格校验中异常捕捉

def is_price(s):
    try:
        price=float(s)
    except Exception as e:
        print('价格出错')
        return False
    return price

连接数据库函数(异常捕捉

首先考虑在操作数据库的过程中会遇到什么错误呢?

  数据库连接失败,sql出错

  下面来捕捉并处理这两个错误

  连接成功后继续运行

  连接成功与否最后都要断开游标关闭数据库

def op_mysql(sql,str=True):
    db_info={','host':'118.24.3.40',
             'db':'jxz','port':3306,'charset':'utf8','autocommit':True}
    try:
        coon=pymysql.connect(**db_info)#建立连接       autocommit=True自动提交
    except Exception as e:
        print('mysql连接失败:',e)
        return False
    cur=coon.cursor(pymysql.cursors.DictCursor)
    try:            #试运行
        cur.execute(sql)
    except Exception as e:          #出错后如何
        print('sql执行失败%s'%sql)
        result='sql错误,%s'%sql
    else:                           #剩余代码继续运行
        if str:
            result=cur.fetchall()
        else:
            result=cur.fetchone()
    finally:                        #不管出不出错都要运行的
        cur.close()
        coon.close()
    return result
主动抛出异常(关键字raise)
price=input('请输入价格:').strip()
if not price.isdigit():
    raise Exception('价格错误')

待完善

 

python—异常处理try的更多相关文章

  1. python异常处理(基础)

    之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/0 ...

  2. Python异常处理 分类: python Raspberry Pi 服务器搭建 2015-04-01 13:22 172人阅读 评论(0) 收藏

    一个程序要保持稳定运行必须要有异常处理,本文将简单介绍Python中的try-except..异常处理语句的使用. 该种异常处理语法的规则是: 执行try下的语句,如果引发异常,则执行过程会跳到第一个 ...

  3. Python 异常处理--raise函数用法

    raise语句手工引发一个异常: "raise" [expression ["," expression ["," expression]] ...

  4. [Python学习笔记][第八章Python异常处理结构与程序调试]

    1/30 第八章Python异常处理结构与程序调试 异常处理 try-except结构 try: try块 except Exception: except块 try-except-else结构 tr ...

  5. python异常处理try,except,else,finally,raise

    先看下else的使用: try: ... exception: ... else: ... 只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else 再看下finally: final ...

  6. Python 异常处理

    Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言 ...

  7. python异常处理的哲学

    所谓异常指的是程序的执行出现了非预期行为,就好比现实中的做一件事过程中总会出现一些意外的事.异常的处理是跨越编程语言的,和具体的编程细节相比,程序执行异常的处理更像是哲学.限于认知能力和经验所限,不可 ...

  8. Python异常处理总结

    一.何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这 ...

  9. python异常处理与断言以及日志模块

    python异常处理与断言 目录: 1.异常处理 2.断言(assert) 3.日志模块(logging) 4.修改之前的车票信息查询,把日志模块.异常处理加进去 1.异常处理 代码如下: 语法: t ...

  10. python 异常处理函数--raise

    Python 异常处理--raise函数用法 在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称.异常名称标识出具体的类: Python异常处理是那些类的对象 ...

随机推荐

  1. this软拷贝详解

    <script> if( !Function.prototype.softBind ){ Function.prototype.softBind = function( obj ){ va ...

  2. python笔记26

    一.今日内容 python中的方法 python中的方法+正则表达式的新内容 #分组 #分组命名 #引用分组 #爬虫的小例子 1.转义符 如:\n--->\\n--->print('\\n ...

  3. 桌面运维之Windows快捷键,每一个工程师都是“快捷键”的工程师!

    1.win快捷键 首先教大家win7新增的3D效果: Win + Tab 快速切换已打开的程序(和Alt+tab一样的效果) Win + Home 将所有使用中窗口以外的窗口最小化 Win + Spa ...

  4. @常见的远程服务器连接工具:Xshell与secureCRT的比较!!!(对于刚接触的测试小白很有帮助哦)

    现在比较受欢迎的终端模拟器软件当属xshell和securecrt了. XShell绝对首选,免费版也没什么限制,随便改字体随便改颜色随便改大小随便改字符集,多窗口,也比较小巧,而SecureCRT界 ...

  5. 基于JWT实现token验证

    JWT的介绍 Json Web Token(JWT)是目前比较流行的跨域认证解决方案,是一种基于JSON的开发标准,由于数据是可以经过签名加密的,比较安全可靠,一般用于前端和服务器之间传递信息,也可以 ...

  6. 《即时消息技术剖析与实战》学习笔记12——IM系统如何提升图片、音视频消息发送、浏览的体验

    IM系统如何提升用户发送.浏览图片和音视频消息的体验呢?一是保证图片.音视频消息发送得又快又稳,二是保证用户浏览播放图片.音视频消息时流畅不卡顿. 一.提升用户发送图片.音视频的体验 1. 多上传接入 ...

  7. go-admin基于Gin + Vue + Element UI的前后端分离权限管理系统

    ✨ 特性 遵循 RESTful API 设计规范 基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证.跨域.访问日志.追踪ID等) 基于Casbin的 RBAC 访问控制模型 JWT ...

  8. 自定义添加$_SERVER中的变量

    如何根据自己项目中的需求自定义$_SERVER中的变量呢?比如$_SERVER['XU_TEXT_PARAM'],这个超全局变量输出肯定是会报错的.那如何自定义它,让它输出我们想要输出的值呢? 1.在 ...

  9. 序列化器:ModelSerializer

    ModelSerializer 类提供了一个快捷方式,可让你基于 Models 自动创建一个 Serializer 类,其中的字段与模型类字段对应. ModelSerializer 类与常规 Seri ...

  10. JS的3种核心设计模式

    一.单例模式 1.保证一个类仅有一个实例,并提供一个访问它的全局访问点 2.设计思路:如果存在,不创建,直接返回,不存在才创建. 在类的constructor方法里添加一个判断条件属性,并且让创建的实 ...