Python异常和异常处理
Python异常和异常处理
2017年12月20日 22:17:08 Megustas_JJC 阅读数:114 标签: python 异常处理 更多
个人分类: Python
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Megustas_JJC/article/details/78858288
Python中的异常处理与Java中的做法思路类似,个别细节的地方需要注意下即可,理解起来没有太大问题
try-except块及finally
异常常用小技巧:
(1)在类型转换的地方检查类型转换是否正确
while True:
try:
valueStr = raw_input("Input integer:")
valueInt = int(valueStr) #convert to int(possible exception)
break
except ValueError:
print "Bad input"
1
2
3
4
5
6
7
(2)检查文件打开是否成功
while True:
try:
fileName = raw_input("Open file:")
dataFile = open(fileName)
break
except IOError:
print "Bad file name"
1
2
3
4
5
6
7
对于finally块,与Java一样,即无论如何都会被执行,需要注意的是,当出现类似break关键字,会先执行完finally块中的语句再进行break操作,例如如下的一个小demo:
def processFile(dataFile):
count = 1
for line in dataFile:
print "Line " + str(count) + ":" +line.strip()
count += 1
while True:
fileName = raw_input("Please input a file to open:")
try:
dataFile = open(fileName)
except IOError:
print "Bad file name,try again"
else:
print "processing file",fileName
processFile(dataFile)
break #exit "while" loop(but do "finally" block first)
finally:
try:
dataFile.close()
except NameError:
print "Going around again"
print "Line after the try-except group"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
深入异常——raise与自定义异常
(1)raise 任何时候都能引发异常,而不必等Python来引发,只需要使用关键字raise加上异常的名称
(2)自定义异常:
Python中的异常是类,要创建异常,就必须创建其中一个异常类的子类。通过继承,将异常类的所有基本特点保留下来。例如下面例子,user参数需要是字符串,并且仅由字母或数字组成,否则将会引发用户自定义的异常:
class NameException(Exception):
print "Name is error"
if not isinstance(user,str) or not user.isalnum():
raise NameException
Python异常和异常处理的更多相关文章
- Python异常及异常处理
Python异常及异常处理: 当程序运行时,发生的错误称为异常 例: 0 不能作为除数:ZeroDivisionError 变量未定义:NameError 不同类型进行相加:TypeError 异常处 ...
- python 异常
引用一段来自菜鸟教程的文章:http://www.runoob.com/python/python-exceptions.html Python 异常处理 python提供了两个非常重要的功能来处理p ...
- Python 基础之 异常处理
python 基础之异常处理 说到异常处理,就得先问一下,什么是异常处理? 先来看一下,什么是异常? 异常就是:程序运行时发出的错误的信号. 异常的种类先来看一下: 一.常见的异常 Attribut ...
- Python基础---python中的异常处理
Python中的异常处理 一.什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...
- [Python Study Notes]异常处理
正则表达式 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理 断言(Assertions) python标准异常 ...
- Python系列之 - 异常处理
python提供的异常处理 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常 ...
- python中的异常处理机制
python中的异常处理 1.什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异 ...
- Python学习手册之Python异常和文件
在上一篇文章中,我们介绍了 Python 的函数和模块,现在我们介绍 Python 中的异常和文件. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9963 ...
- python——异常except语句用法与引发异常
except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,< ...
随机推荐
- Integer To Roman leetcode java
问题描述: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range fr ...
- ubuntu server 启用mysql日志
1.要启动mysql日志,你就要找到mysql 核心的文件my.cnf (路径:/etc/mysql) 在命令窗口输入:cd /etc/mysql 在命令窗口输入:ls 你就可以看到my.cnf文件 ...
- (效率低下)77. Combinations C++回溯法 组合
https://leetcode.com/problems/combinations/ 沿用78题的思路 class Solution { public: void backTrack(vector& ...
- python中bottle模块的使用
1.简介 2.示例 2.1一个简单的bottle接口 # -*- coding: utf-8 -*- from bottle import route, request, run import jso ...
- [洛谷 P2508] 圆上的整点
题目描述 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. 输入输出格式 输入格式: r 输出格式: 整点个数 输入输出样例 输入样例#1: 4 输出样例#1: 4 说明 n ...
- MapReduce分布式算法
一.MapReduce 有一种特殊的并行算法,就是分布式算法.在并行算法只需要两个到四个内核时,完全可以在笔记本电脑上运行,但是如果需要数百个内核,这种情况下,可让算法在多台计算机上运行. 假设你有一 ...
- web服务器-----Tomcat 7.0安装
下载地址:http://tomcat.apache.org/ 1.下载 2.解压缩---c盘 3.运行bin\startup.bat 启动Tomcat服务器 运行bin\shutdown.bat关闭T ...
- Oracle X$Tables
前言 最早从Yong Huang那里看到关于比较详细的X$表的介绍,后来陆续从其他Oracle专家那里得到了不少信息.在Steve Adams 的书中对X$表多有提及,而且他的站点也是个资源比较丰富的 ...
- LSTM UEBA异常检测——deeplog里其实提到了,就是多分类LSTM算法,结合LSTM预测误差来检测异常参数
结合CNN的可以参考:http://fcst.ceaj.org/CN/article/downloadArticleFile.do?attachType=PDF&id=1497 除了行为,其他 ...
- Lamda 表达式里的Join和GroupJoin的区别, 如何实现SQL的Left Join效果
例如,可以将产品表与产品类别表相联接,得到产品名称和与其相对应的类别名称 db.Products .Join ( db.Categories, p => p.CategoryID, c => ...