try:
raise Exception
except Exception as e:
print(e) try:
raise Exception('comment')
except Exception as e:
print(e) class SomeException(Exception):
print('aa')
pass
try:
raise SomeException #只能捕获这个异常,不能捕获其他如1/0异常
except SomeException: #这个为什么不行
print('no') '''
try:
a=0
1/0
except ZeroDivisionError:
if a==1: print('no problem')
else: raise #捕捉到了异常,但又想重新引发它
'''
#多个except语句
#只有第一条语句的错误发现,然后捕获这个异常后,后面语句的异常不会被捕获
try:
a=1/0
b='a'+1
except TypeError:
print('')
except ZeroDivisionError:
print('')
#结果是2 #一个块捕获多个异常
#也只能捕获第一个异常
try:
a=1/0
b='a'+1
except (TypeError,ZeroDivisionError):
print('error') try:
b='a'+1
a=1/0
except (ZeroDivisionError,TypeError) as e: #捕捉对象
print(e)
#Can't convert 'int' object to str implicitly捕捉第一条语句 #全捕捉
try:
a=1/0
b='a'+1
except:
print('error') #else 语句
while True:
try:
x=input('x')
y=input('y')
print(x/y)
except:
print('invalid, input again')
else: #没有异常引发的情况下执行
break #finally 语句
#finally 用于关闭文件或网络套接字时会非常有用
#不管是否发生异常,finally一定会被执行
#sys.exit退出当前程序,finally中内容仍然会被执行
#x被初始化为None原因,由于ZeroDivisionError存在,x就永远不会被赋值
#这样就导致在finally中使用del删除它的时候产生异常,而且这个异常是无法捕捉的
x=None
try:
x=1/0
finally: #finally 要与 try 对齐
print('cleaning up') #在程序崩溃前,对x的清理已经完成了
del x try:
1/0
except ZeroDivisionError:
print('')
else:
print('')
finally:
print('')
#结果1,3

exception.py的更多相关文章

  1. python之最强王者(11)——异常(exception)

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

  2. Python Exception处理

    Python中的错误处理分为两类:语法错误和异常处理.语法错误一般是指由于python语句.表达式.函数等存在书写格式活语法规则上的错误抛出的异常,如python常见的缩进控制,若同层次的执行语句存在 ...

  3. python3 异常处理

    什么是异常 Python用异常对象(exception object)来表示异常情况.遇到错误会引发异常,如果异常对象未被处理或者捕捉,程序就会用回溯(traceback)终止执行. Raise语句: ...

  4. SQLMAP源码分析-目录结构

    -----------------------------------------------------------------------------│  README.md│  sqlmap.c ...

  5. 正确地组织python项目的结构

    统一的项目结构 写了不少python项目后, 越来越认识到python项目结构重要性. 不管项目是否要开源, 是否要提交pypi, 项目结构的一致性带来的好处还有很多: 多人合作开发大家都有个基本的g ...

  6. python twisted启动定时服务

    以下是python脚本send_mms.py #############################################!/usr/bin/python# -*- coding: ut ...

  7. Linux安装程序Anaconda分析

    1.概述     Anaconda是RedHat.CentOS.Fedora等Linux的安装管理程序.它能够提供文本.图形等安装管理方式,并支持Kickstart等脚本提供自己主动安装的功能.此外, ...

  8. 以正确的方式开源 Python 项目

    以正确的方式开源 Python 项目 大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清 晰和无痛.我不是 ...

  9. 以正确的方式开源 Python 项目(转)

    大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清晰和无痛.我不是简单的指——“创建一个GitHub库,提 ...

随机推荐

  1. android 活动

    一.Activity 声明周期 1 创建 把页面上的个元素加载到内存 onCreate 2 开始 把页面显示到屏幕 onStart 3 恢复 让页面在屏幕活动 onResume 4 暂停 停止页面动作 ...

  2. java 常用的解析工具

    这里介绍两种 java 解析工具. 第一种:java 解析 html 工具 jsoup 第二种: java 解析 XML 工具 Dom4j jsoup jsoup是一个用于处理真实HTML的Java库 ...

  3. vue搭建cli脚手架环境(出现问题及解决,主要是node版本低)

    Vue 提供了一个官方的cli,为单页面应用 (SPA) 快速搭建繁杂的脚手架. 一.vue cli脚手架 脚手架通过webpack搭建开发环境 使用ES6语法 打包压缩js为一个文件 项目文件在环境 ...

  4. Ubuntu官方Wiki教程资源

    前言:通常学习一样新知识时,最快的方式是通过搜索引擎然后以最快的方式拿枪上战场,如果接下来还一直依赖搜索引擎去打,那么你会发现自己永远都在打游击:那么如果要解决这个问题,必须要学会系统的学习,只有连贯 ...

  5. tech blog link

    http://amitsaha.github.io/site/notes/index.html

  6. 配置 yum 源相关

    1. 修改yum配置 http://www.cnblogs.com/shuaixf/archive/2011/11/30/2268496.html 2. centos安装 epel 源 https:/ ...

  7. 转: memcache, redis, mongodb 对比

    http://db-engines.com/en/system/Memcached%3BMongoDB%3BRedis

  8. windows10 開機失敗,且按F8無法進入安全模式

    windows10 開機失敗,且按F8無法進入安全模式: 在cmd視窗下: bcdedit set {default} bootmenupolicy legacy 重啟,再按F8試一試吧! To En ...

  9. hdu 5338 ZZX and Permutations (贪心+线段树+二分)

    ZZX and Permutations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/O ...

  10. iOS文件的管理(添加,删除,拷贝,移动)

    #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super vie ...