Python: 如何写一个异常
例子1
try:
#test area
function()
except Exception, e:
print e.message
例子2:用raise抛出一个异常
if bool_var is not True:
raise Exception #other statements
#...... expect Exception:
do_something()
例子3:输出异常到log
import traceback
import logging except Exception as e:
print(e)
logging.error("Error: \n%s" % traceback.format_exc())
#OR logging.error(e) #log format:
#ERROR: xxx
一、try/expect
try:
#...
expect: ##
#...
finally:
#...
可以没有如果有,则一定会被执行。 finally语句;finally
捕捉一个异常:
expect IOError:
print(...)
多个expect语句,会按顺序检测错误类型:
try:
print('try...')
r = 10 / int('a')
print('result:', r)
except ValueError as e:
print('ValueError:', e)
except ZeroDivisionError as e:
print('ZeroDivisionError:', e)
finally:
print('finally...')
print('END')
用一个块捕捉多个异常:
except (ZeroDivisionError, NameError, TypeError):
print('Errors!')
全捕捉:
try:
##
expect:
print('Error!')
try/expect - else:子句
如果没有错误发生,可以在except语句块后面加一个else,当没有错误发生时,会自动执行else语句:
try:
print('try...')
r = 10 / int('2')
print('result:', r)
except ValueError as e:
print('ValueError:', e)
except ZeroDivisionError as e:
print('ZeroDivisionError:', e)
else:
print('no error!')
finally:
print('finally...')
print('END')
Python: 如何写一个异常的更多相关文章
- 用Python+Aria2写一个自动选择最优下载方式的E站爬虫
前言 E站爬虫在网上已经有很多了,但多数都只能以图片为单位下载,且偶尔会遇到图片加载失败的情况:熟悉E站的朋友们应该知道,E站许多资源都是有提供BT种子的,而且通常打包的是比默认看图模式更高清的文件: ...
- python Tkinter 写一个弹球的小游戏
#!usr/bin/python #-*- coding:utf-8 -*- from Tkinter import * import Tkinter import random import tim ...
- 用python爬虫写一个属于自己的彩虹屁生成器!
效果图如下:
- Python 中写一个装饰器实现限制频率访问
1.思路: 首先要在装饰器中确定访问的方法名, 第一次可以访问成功,之后要在规定的时间(变量)之后才可以访问. 初始应该有一个变量为0;访问成功之后把当前的时间赋值给这个变零. 这样再次访问时把当前的 ...
- python练习题-写一个函数,打印所有包含copy方法的内置对象
代码: #encoding=utf-8for i in dir(__builtins__): #print "i:",i try: #这里的i是个字符串,并不能直接用d ...
- 用python itchat写一个微信机器人自动回复
首先看一下效果: 进入正题: 一.首先要去图灵机器人网站注册一个机器人账号: 链接:http://www.tuling123.com/ 你可以获取自己的图灵机器人apikey 懒得话不注册也可以,我下 ...
- Python中写一个乒乓球类的游戏
最近开始学Python,感觉挺好玩的,既有脚本语言的灵活性,又有丰富的类库与面向对象的特点,开发起来很方便. 游戏的规则和乒乓球一样,如果妙蛙种子掉地上了就算输,你可以用蓝色的跷跷板弹它,使他不落到地 ...
- python 3 - 写一个注册的程序,账号和密码都存在文件里面
choice = input('请输入你的选择:1,注册2.删除用户3.登录') #注册 输入 账号 密码 密码确认 # #需要校验用户是否存在,两次输入的密码,是否一致,为空的情况 #账号和密码都存 ...
- python 3 - 写一个自动生成密码文件的程序
1.你输入几,文件里面就给你产生多少条密码 2.密码必须包括,大写字母.小写字母.数字.特殊字符 3.密码不能重复 4.密码都是随机产生的 5.密码长度6-11 import string,rando ...
随机推荐
- PCA原理解释(二)
PCA在做数据处理,一般会有一个数据预处理,其中一个目标就是将取数据特征向相关性. 为什么要去特征的相关性? 因为数据如果有相关性,在学习的时候是冗余的,徒增学习成本:所以对于数据处理(也称之为白化, ...
- java 字符集 Charset
字符集就是为每个字符编个号码.如ASCII编码中,字符 'A' 的号码为 65 (或二进制01000001):GBK编码中,字符 '国' 对应的号码为47610 . 编码:将字符序列转换成二进制序列. ...
- jstack实战死循环与死锁学习笔记
一.实战死循环导致CPU飙高 top -p pid -H jstack pid printf "%s" 十进制的线程id 二.创建CUP100%实例(死循环) 1.创建CpuCo ...
- Centos系统下Docker的安装
一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...
- java jvm设置http代理参数
-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080
- SDRAM的初始化与刷新操作---看时序图写代码
SDRAM的初始化与刷新操作---看时序图写代码 1.SDRAM的常见操作 2.初始化就是配置SDRAM 3.SDRAM初始化时序 时序解释如下: 4.刷新操作
- 阅读DMA Controller Core 官方手册
阅读DMA Controller Core 官方手册 DMA控制器框架图 怎样去设定一个DMA控制器 实例化DMA控制器 参数配置界面如下图所示: 对于width of the DMA length ...
- Thinkphp 关联模型
1.定义关联模型 2.使用关联模型 D('BlogRelation')->relation(true)->add($data);
- Azure SQL 数据库仓库Data Warehouse (3) DWU
<Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...
- Git忽略规则和.gitignore规则不生效的解决办法
Git忽略规则和.gitignore规则不生效的解决办法 Git忽略规则: 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果 ...