#===========================常见异常 ===================== 
#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. ASP.NET Aries 入门开发教程9:业务表单的开发

    前言: 经过前面那么多篇的列表的介绍,终于到了大伙期待的表单开发了. 也是本系列的最后一篇文章了! 1:表单页面的权限设置与继承 对于表单页面,权限的设置有两种: 1:你可以选择添加菜单(设置为不显示 ...

  2. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  3. JavaScript实现常用的排序算法

    ▓▓▓▓▓▓ 大致介绍 由于最近要考试复习,所以学习js的时间少了 -_-||,考试完还会继续的努力学习,这次用原生的JavaScript实现以前学习的常用的排序算法,有冒泡排序.快速排序.直接插入排 ...

  4. duang~免费的学习视频来啦:学霸君之全栈测试

    学霸君向童鞋们推荐一款 同名学霸学习 视频教程 重点是完全免费收看学习噢!!! 今天 学霸君推荐腾讯课堂的学霸君之全栈测试 复制下方链接至腾讯课堂中报名学习 https://ke.qq.com/cou ...

  5. JAVA构造时成员初始化的陷阱

    让我们先来看两个类:Base和Derived类.注意其中的whenAmISet成员变量,和方法preProcess(). 情景1:(子类无构造方法) class Base { Base() { pre ...

  6. 【Java每日一题】20170103

    20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  7. Spring(三)__aop编程

    aop( aspect oriented programming ) 面向切面编程,是对所有对象或者是一类对象编程 几个重要的概念: 1.切面(aspect):要实现的交叉功能,是系统模块化的一个切面 ...

  8. App 审核由于 IPv6 网络问题被拒

    昨天 提交App Store 的时候被拒了 We discovered one or more bugs in your app when reviewed on iPhone running iOS ...

  9. jira的插件开发流程实践

    怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧 最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用 ...

  10. 跟着老男孩教育学Python开发【第三篇】:Python函数

    set 无序,不重复,可嵌套. 函数 创建函数: 1.def关键字,创建函数 2.函数名 3.() 4.函数体 5.返回值 发邮件函数 def sendmail():     import smtpl ...