#===========================常见异常 ===================== 
#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. 深入浅出Redis-redis底层数据结构(上)

    1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...

  2. ASP.NET Core 之 Identity 入门(二)

    前言 在 上篇文章 中讲了关于 Identity 需要了解的单词以及相对应的几个知识点,并且知道了Identity处在整个登入流程中的位置,本篇主要是在 .NET 整个认证系统中比较重要的一个环节,就 ...

  3. 探索ASP.NET MVC5系列之~~~1.基础篇---必须知道的小技能

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程 汇总:http://www.cnblogs.com/dunitian/p/4822808.html#mvc 本章D ...

  4. iOS逆向工程之Hopper+LLDB调试第三方App

    LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...

  5. 多线程条件通行工具——CountDownLatch

    CountDownLatch的作用是,线程进入等待后,需要计数器达到0才能通行. CountDownLatch(int)构造方法,指定初始计数. await()等待计数减至0. await(long, ...

  6. C# Entity Framework并发处理

    原网站:C# Entity Framework并发处理 在软件开发过程中,并发控制是确保及时纠正由并发操作导致的错误的一种机制.从 ADO.NET 到 LINQ to SQL 再到如今的 ADO.NE ...

  7. Android Studio 编译单个module

    前期自己要把gradle环境变量配置好 在Terminal中gradle命令行编译apk 输入gradle assembleRelease 会编译全部module编译单个modulecd ./xiru ...

  8. ubuntu14.04redis安装以及扩展

    redis 安装http://my.oschina.net/quanpower/blog/282546#OSC_h2_2redis扩展安装wget https://github.com/nicolas ...

  9. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  10. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...