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. centos7 安装teamviewer 报错libQt5WebKitWidgets.so.5()(64bit)

    https://blog.csdn.net/kenny_lz/article/details/78884603

  2. AC日记——L国的战斗之间谍 洛谷 P1916

    题目背景 L国即将与I国发动战争!! 题目描述 俗话说的好:“知己知彼,百战不殆”.L国的指挥官想派出间谍前往I国,于是,选人工作就落到了你身上. 你现在有N个人选,每个人都有这样一些数据:A(能得到 ...

  3. IOC基本理解

    什么是IOC? IOC全称为控制反转(Inversion Of Control),别名依赖注入(Dependency Injection). 控制反转即指我们获取依赖的方式发生了反转. 假设存在如下情 ...

  4. Spring整合SSM的配置文件详解

    在整合三大框架SSM , 即 Spring 和 SpingMVC和Mybatis的时候,搭建项目最初需要先配置好配置文件. 有人在刚开始学习框架的时候会纠结项目搭建的顺序,因为频繁的报错提示是会很影响 ...

  5. Leetcode 数组问题:删除排序数组内的重复项

    问题描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  6. 识别SQL Server 性能杀手

    性能优化的重点在于识别定位问题,预先了解主要的性能杀手,能够更快的定位到问题并将工作集中在可能的原因之上. SQL SERVER性能杀手主要集中在如下几类: 1.1   低质量的索引 低质量的索引通常 ...

  7. java文本文件加密解密类

    原文:http://www.open-open.com/code/view/1420031154765 import java.awt.*; import java.awt.event.*; impo ...

  8. wc递归统计代码行数

    find /path -name '*.cpp' |xargs wc -l

  9. poj(1011)——Sticks(经典的dfs+剪枝)

    题目的大致意思是: 如今有n根木棍,然后须要把它们拼成相同长度的木棍,问满足这个条件的最短的长度是多少? 想法嘛:那肯定是dfs把长度搜一遍就好,但问题的关键是这里会超时.那么就要用到剪枝的原理了. ...

  10. reorder-list——链表、快慢指针、逆转链表、链表合并

    Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...