写代码的时候会遇到各种各样的异常,那么代码就不会继续往下走了。比如说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. C++泛化双向链表

    泛型双向链表 双向链表(doublyLinkedList.h) /******************************************************************* ...

  2. 题解-[HNOI2001]遥控赛车比赛

    题解-[HNOI2001]遥控赛车比赛 前置知识:记忆化搜索.\(\texttt{Bfs}\). 参考资料 https://www.luogu.com.cn/blog/CYJian/solution- ...

  3. SpringBoot1.5.10.RELEASE整合druid时,在druid monitor界面出现(*) property for user to setup

    接上篇随笔,配置druid之后出现的错误,解决方法如下: @Bean(destroyMethod = "close",initMethod = "init") ...

  4. 【一统江湖的大前端(8)】matter.js 经典物理

    目录 [一统江湖的大前端(8)]matter.js 经典物理 一.经典力学回顾 二. 仿真的实现原理 2.1 基本动力学模拟 2.2 碰撞模拟 三. 物理引擎matter.js 3.1 <愤怒的 ...

  5. CF1082B Vova and Trophies 题解

    CF1082B Vova and Trophies 题解 瞎搞题,推荐的,一看是道水题,就随手A了-- 题目描述 Vova has won \(n\)trophies in different com ...

  6. Posix线程编程指南(5)

    Posix线程编程指南(5) 杨沙洲 原文地址:http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part5/ 杂项 ...

  7. isEmpty 判空函数 内部分别判断是 null 空数组 等

    import { oneOf, isEmpty } from '@/libs/tools' export const isEmpty = (value) => { if (value == nu ...

  8. java -封装一个类。(姓名、年龄、性别)

    //定义一个类. public class Maopao1{ //创建私有的对象. private String name; private int age; private String sex; ...

  9. 控制游戏/app使用期限/过期,证书有效期,弹出公告支持离线使用/后端控制,支持Swift、Objective-C集成非常简单,永久免费框架

    CertCheck.framework (for iOS) 只能运行于真机上,切勿在模拟器上使用 这是一个控制游戏/app使用期限(到设定的时间无法打开app),或发布弹出公告永久免费的框架,可以全版 ...

  10. Unity 游戏框架搭建 2019 (八) 关于导出 UnityPackage 功能的小结

    导出 UnityPackage 功能到这里要告一段落了,相信认真看的童鞋都有收获.笔者在写教程之前纠结了很久.到底是先给出一坨工具代码,然后再逐个讲解比较好,还是一篇一个知识点比较好.后来想通了.工具 ...