#===========================常见异常 ===================== 
#print(a);#NameError: name 'a' is not defined 变量未定义
#if True:#SyntaxError: unexpected EOF while parsing 语法错误
#f=open("123.txt");#FileNotFoundError: [Errno 2] No such file or directory: '123.txt' 没有这个文件 #print(10/0);
# ZeroDivisionError: division by zero 除数为 0错误 #print(int("a"));
# ValueError: invalid literal for int() with base 10: 'a' 值转换无效
#-*-config=utf-8 -*-
#===========================异常处理 (捕获运行时异常) =====================
#常见异常
#print(a);#NameError: name 'a' is not defined 变量未定义
#if True:#SyntaxError: unexpected EOF while parsing 语法错误
#f=open("123.txt");#FileNotFoundError: [Errno 2] No such file or directory: '123.txt' 没有这个文件
#print(10/0);# ZeroDivisionError: division by zero 除数为 0错误
#print(int("a"));# ValueError: invalid literal for int() with base 10: 'a' 值转换无效
#===================== try - except 语法 ==================
def tryTest_1():
try:
print(10/0);
except:# 捕获所有类型异常
print("Zero Error");# Zero Error
#tryTest_1(); def tryTest_2():
try:
print(10/0);
except ZeroDivisionError as e:#捕获 指定类型的异常
print("Zero Error");# Zero Error
#tryTest_2();
#案例 猜数字游戏
import random;
def guessNum():
num=random.randint(0,100);#生成一个随机数
while True:
try:
inputNum=int(input());
except ValueError as e:
print("请输入1-100的数字");
continue;
if num>inputNum:
print("输入的太小");
if num<inputNum:
print("输入的太大");
if(num==inputNum):
print("Ok");
break;
#guessNum();
#======================同时处理多个异常====================
def tryTest_3():
try:
f=open("2.txt");
except FileNotFoundError as e:
print("文件不存在");#文件不存在
except ValueError as e:
print("错误的值");
#tryTest_3();
#===================== try - except - else==============
#如果存在异常代码执行相应的异常类型捕获,如果不存在异常代码执行else
def tryTest_4():
try:
print(1+1);
#f=open("2.txt");
except FileNotFoundError as e:
print("文件不存在");#文件不存在
except ValueError as e:
print("错误的值");
else:
print("No Error");
#tryTest_4();
#===================== try finally ============
#无论是否检查到异常,都会执行finally代码
#作用:为异常处理事件提供清理机制,用来关闭文件或者释放资源。
def tryTest_5():
try:
f=open("2.txt");
finally:
print("file close");
f.close();
#tryTest_5();
#========================== try -except -finally =============
#1、如果 try语句没有捕获异常,执行try代码后,执行finally语句
#2、如果 try语句捕获到异常,首先执行except语句后执行finally语句
def tryTest_6():
try:
f=open("2.txt");
except FileNotFoundError as e:
print("文件不存在");
finally:
print("file close");
f.close();
#tryTest_6(); #========================== try -except - else -finally =============
#1、如果 try语句没有捕获异常,执行try代码后执行else语句最后执行finally语句
#2、如果 try语句捕获到异常,首先执行except语句后执行finally语句
def tryTest_7():
try:
print(10/1);
except ZeroDivisionError as e:#捕获 指定类型的异常
print("Zero Error");# Zero Error
else:
print("else语句");
finally:
print("finally");
#tryTest_7();
#==============================with 语句======================
# with语句用来替换try-except-finall语句 使代码更加简洁
def withTEst():
try:
with open("E:\python\w_2.txt") as f:
print(f.readline());
except FileNotFoundError as e:
print("文件不存在");
f.close();
#withTEst();
#=======================raise 语句 ==============================
#raise 主动抛出异常
#类似于java中的throw关键字
def raiseTest():
raise IOError("IO异常");
#raiseTest();
#======================assert语句=================================
#assert语句:用于检测表达式是否为真,如果为假,引发AssertionError错误
#语法:assert expression (判断一个表达式)
# assert expression1, expression2(判断多个表达式)
import random;
def assertTest(n):
assert n>random.randint(0,10);
print(n);
#assertTest(3);
#如果传入的 n 大于随机生成的数则打印n
#如果传入的n小于随机生成的数 则引发AssertionError错误

python学习 异常的更多相关文章

  1. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  2. 【python学习笔记】8.异常

    [python学习笔记]8.异常 raise Exception: 抛出指定异常 try/except: 捕捉异常 except: 第一个参数是需要捕获的异常类型,可以是多个类型组成元组,第二个参数是 ...

  3. Python学习 Part6:错误和异常

    Python学习 Part6:错误和异常 两种不同类型的错误:语法错误和异常 1. 语法错误 语法错误,也被称作解析错误: >>> while True print('Hello w ...

  4. python学习笔记5_异常

    python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...

  5. 转 Python3 错误和异常/ Python学习之错误调试和测试

    ########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名> ...

  6. 【Python学习之八】设计模式和异常

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.设计模式1.单例模式确保某一个类只有一个实例, ...

  7. Python学习7——异常

    编写程序时,通常能够区分正常和异常情况.为了处理这些异常,可在每个可能出现异常的地方都使用上条件语句,但这样大大降低了程序的可读性,那么怎么解决哪?Python提供强大的替代解决方案——异常处理机制. ...

  8. python学习笔记16(错误、异常)

    一.什么是错误,什么是异常 错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象.当错误中断流程时,该程序将尝试寻找异常处理程序(一段告诉程序如何对错误做出响应的代码),以帮助 ...

  9. Python学习笔记:07异常

    异常 Python用异常对象(Exception Object)来表示异常情况,当异常未被捕获时,就会产生回溯(Traceback) 异常分类 內建异常类:Exception,AttributeErr ...

随机推荐

  1. setTimeout 的黑魔法

    setTimeout,前端工程师必定会打交道的一个函数.它看上去非常的简单,朴实.有着一个很不平凡的名字--定时器.让年少的我天真的以为自己可以操纵未来.却不知朴实之中隐含着惊天大密.我还记得我第一次 ...

  2. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  3. SASS教程sass超详细教程

    SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...

  4. iOS开源项目周报0105

    由OpenDigg 出品的iOS开源项目周报第四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. He ...

  5. 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  6. System.FormatException: GUID 应包含带 4 个短划线的 32 位数(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。

    在NHibernate数据库查询中出现了这个错误,由于是数据库是mysql的,当定义的字段为char(36)的时候就会出现这个错误. [解决方法] 将char(36) 改成varchar(40)就行了 ...

  7. SharpMap简析

    1.背景 因为项目需求,需要基于开源项目来对SHP进行相关操作.涉及到的主要功能就是加载SHP读取其中的属性信息和几何信息.于是选择了Sharpmap来进行,在使用中对其相关功能做了初步了解,做个总结 ...

  8. 以项目谈WebGIS中Web制图的设计和实现

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景介绍 一般WebGIS项目中,前端展示数据的流程基本是先做数据入 ...

  9. 代码的坏味道(22)——不完美的库类(Incomplete Library Class)

    坏味道--不完美的库类(Incomplete Library Class) 特征 当一个类库已经不能满足实际需要时,你就不得不改变这个库(如果这个库是只读的,那就没辙了). 问题原因 许多编程技术都建 ...

  10. Android使用静默安装时碰见的问题

    升级时碰见的异常 private void installPackage(String appName,final File apk) { if (!apk.exists()) { setHasNew ...