python学习第七周之异常处理

1.异常处理

异常处理其实就是将程序抛出的错误抓住,以便能够不影响程序的运行。

我们先定义一个列表,跟一个字典

names=[‘wu‘,‘jack‘]
data={}

(1)然后抓住它们抛出的异常:

try:
    names[3]
    data[‘name‘]

except IndexError as e:
    print("列表操作错误",e)
except KeyError as e:
    print("没有这个key",e)

  以上这两个均异常,抓住一个异常便不会在往下走了,所以结果为:列表操作错误 list index out of range

  我们还可以将这两个写在一起:

except (KeyError,IndexError) as e:
    print("没有这个key",e)

(2)如果是文件系统的系统异常,如以下代码

try:
    open("tes.txt")
    a=1
except FileNotFoundError as e:   #针对文件存在的错误,    open("tes.txt")
     print("有错误", e)

(3)如果是已知的抛出异常,我们用已知的名字来写,如FileNotFoundError,这样方便调试程序;

如果是未知的错误,我们用以下程序,except Exception 可以抓住所有的错误;

except Exception as e:    #抓住所有的错误,可以用这个来抓取未知的错误
     print("未知错误",e)

(4)else在没有发生错误时执行

else:   #没有错误的时候执行
     print("一切正常")

(5)finally,不管有没有错误都会执行

finally:  #不管有没有错误都会执行
     print("不管用没有错都执行")

2.总结:异常处理的一般格式

try :
        code
    except (Error1,Erro2) as e:
        print e

    except Exception :抓住所有错误,可以用来抓取未知错误

3.自定义异常:

class WuException(Exception):
    def __init__(self, msg):
        self.message = msg
    def __str__(self):
        return self.message
        # return "ssss"
try:
    raise WuException(‘数据库连接不上‘)    #触发异常
except WuException as e:
    print(e)

原文地址:https://www.cnblogs.com/wuxiaoru/p/11586068.html

时间: 2024-07-30 14:50:14

python学习第七周之异常处理的相关文章

Python学习--第七周

本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典类vs新式类 把下面代码用python2 和python3都执行一下 1 #_*_coding:utf-8_*_ 2 3 4 class A: 5 def __init__(self): 6 self.n = 'A' 7 8 class B(A): 9 # def __init__(self): 1

python学习第七周之静态方法、类方法、属性方法和一些类的成员方法

1.静态方法:只是名义上归类来管理,实际上在静态方法访问不了类或实例中的任何属性. (1)我们先看以下代码,实例化一个对象后,d可以直接调用talk() class Dog(object): def __init__(self,name): self.name=name def talk(self): print("%s is talking" % self.name) d=Dog("chen") d.talk() (2)而我们在使用静态方法后,实例化后直接调用的话

python学习笔记七:条件&循环语句

1.print/import更多信息 print打印多个表达式,使用逗号隔开 >>> print 'Age:',42 Age: 42   #注意个结果之间有一个空格符 import:从模块导入函数 import 模块 from 模块 import 函数 from 模块 import * 如果两个模块都有open函数的时候, 1)使用下面方法使用: module1.open()... module2.open()... 2)语句末尾增加as子句 >>> import ma

Python学习第七天课后总结

<html> ? python学习第七天课后总结: 今日内容: 一,,字符编码:其实就是人类的语言与机器的语言进行转化的一种媒介. ? 1,人类语言与机器语言对照关系的结构被称为:编码表 ? 常用编码表大致有以下几个: ? 1> ascii (ASCII) 现为今出现最早的编码表,采用一个字节来存储字母却无法编码汉字 ? 2> GBK 这个是专门为中文来制作的编码,国人专用 ? 3> Shift_JIS 日文使用的文件编码方式 ? 4> Euc-kr 韩文使用的编码方式

暑假学习第七周

这是暑假第七周了,在这周中我还是继续看java视频复习Java,了解一些在书上遗漏以及忘掉的知识点. 这几天我在网上学习了java的链表类的一些基本知识,C.C++的链表和java的有些不一样,在c中链表是用指针来进行操作的,而在java中使用引用来进行连接. 而且我总结出自己一些适合自己的学习方式. 这一周将老师发的的测试题完成了,之后我在网上又找到了和诺关于java的视频去看,马上就要开学了,我需要巩固自己学的Java知识来面对测试. 原文地址:https://www.cnblogs.com

Python学习(第一周)

大学毕业之后学习的Java开发最终却没有走上程序员之路.从事企业IT管理工作(运维.ERP.财务.).13年大数据很火的时候接触到SAP的BW.BO那时候觉得BI那就是大数据,现在想想那时多么肤浅啊.后来读了<货币战争><经济学原理>等经济学方面的书,明白了逻辑和哲学提供方向让我知道要做什么,统计学.数学让我知道用什么方法去做.然后在知乎等网站上了解相关的信息,最终选择了使用Python去做实现. 我选择的入门书籍是<Python基础教程  第2版> 同时也入手了<

Python学习笔记七-错误和异常

程序员总是和各种错误打交道,学习如何识别并正确的处理程序错误是很有必要的. 7.1错误和异常 1.错误 从软件方面来看,错误分为语法错误和逻辑错误两种.这两种错误都将导致程序无法正常进行下去,当Python检测到一个错误时就出现了异常. 2.异常 当编译器检测到错误并且意识到错误条件.解释器会引发一个异常(程序员也可以自己引发一个异常,后面会说到). 以下是7种Python中常见的错误. 1.NameError,尝试访问一个未申明的例子. 2.ZeroDivisionError,零除错误. 3.

Python学习心得第一周-02

十二 流程控制之if...else 既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了.对于逻辑运算,即人根据外部条件的变化而做出不同的反映,比如 1 如果:女人的年龄>30岁,那么:叫阿姨 age_of_girl=31 if age_of_girl > 30: print('阿姨好') 2 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐 age_of_girl=1

python学习第七天 -- dict 和set

今天主要学习关于python 的dict(全称dictionary)和set.dict的用法跟javascript 中map表类似,key + value结构语言.而set,准确来说,只是key的集合. Dict 直接贴代码 >>> d = {'zhangsan': 95, 'lixi': 75, 'wuliu': 85} >>> d['zhangsan'] 95 dict插入 >>>d['wangba'] = 90 //直接插入wangba该学员的成