python学习 异常

#===========================常见异常 ===================== #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错误
时间: 2024-08-23 11:19:33

python学习 异常的相关文章

python学习------------异常以及反射

学完这一节,python基础部分就要告一段落了,期待进入新一阶段的学习,也给自己说坚持就是胜利. 一.isinstance(obj,cls) 检查obj是否是cls的对象 1.首先从学过的变量开始 a = 12 b = "bb" print isinstance(a,int) #结果是True print isinstance(a,str) #结果是False print isinstance(b,str) #结果是True print isinstance(b,int) #结果是Fa

Python学习—异常

一.异常处理的定义 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) 如果捕捉成功则进入另外一个处理分支,执行你为其定制的逻辑,使程序不会崩溃,这就是异常处理 二.异常处理的用法 为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理,1,如果错误发生的条件是可预知的,我们需要用if进行处理,在错误发生之前进行预防 age1 = 10 while True: age

【python学习】8.异常

[python学习]8.异常 raise Exception: 抛出指定异常 try/except: 捕捉异常 except: 第一个参数是需要捕获的异常类型,可以是多个类型组成元组,第二个参数是捕获到的异常对象, raise: 抛出已经捕获的异常 else: 当没有捕获的异常时候执行 finally: 总会被执行 def test(): try: raise Exception("test") except (Exception), e: print "Exception&

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

环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.设计模式1.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,单例模式是一种对象创建型模式. class Singleton(object): __instance=None __first_init=False def __new__(cls,name,age): if not cls.__insta

Python学习7——异常

编写程序时,通常能够区分正常和异常情况.为了处理这些异常,可在每个可能出现异常的地方都使用上条件语句,但这样大大降低了程序的可读性,那么怎么解决哪?Python提供强大的替代解决方案——异常处理机制. 1.异常是什么? Python使用异常对象来表示异常状态,并在遇到错误时引发异常,异常对象未被处理(或捕获)时,程序将终止并显示一条错误消息. >>> 1/0 Traceback (most recent call last): File "<pyshell#214>

《转》Python学习(16)-python异常

转自 http://www.cnblogs.com/BeginMan/p/3171445.html 一.什么是错误,什么是异常,它们两者区别 这里解释如下:个人觉得很通俗易懂 错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象.当错误中断流程时,该程序将尝试寻找异常处理程序(一段告诉程序如何对错误做出响应的代码),以帮助程序恢复流程.换句话说,错误是一个事件,而异常是该事件创建的对象. 当使用短语"产生异常"时,表示存在问题的方法发生错误,并创建异常对象(包含

Python学习记录八---异常

异常Python用异常对象(exception object)来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行. 1.raise语句 >>> raise Exception Traceback (most recent call last): File "<stdin>", line 1, in <module> Exception >>>

python学习之异常

上一次说了python类和对象的对象的创建方法,今天再来说一下python中异常的使用.在编写程序的使用,程序员需要辨别事件的正常过程和异常过程.这类事件的处理可以使用条件判断语句来进行,但是这么做不仅会影响程序的执行效率和不灵活,同时也会使程序更难以阅读.另外程序员不可能将所有程序可能出现的情况都考虑完全,所以使用异常机制有其重要性也有其必要性. 正如java c++语言的try/catch在python中也有其对应的语句,try/except.具体用法如下: #!/usr/bin/env p

Python学习笔记之异常

Python用异常对象来表示异常情况,如果异常对象未被处理或捕捉,程序就会回溯(traceback)中止执行. 异常可以在出错时自动引发,也可以主动引发. 异常被引发后如果不被处理就会传播至程序调用的地方,直到主程序(全局作用域),如果主程序仍然没有异常处理,程序会带着栈跟踪终止. raise:引发异常 >>> raise Exception Traceback (most recent call last): File "<pyshell#1>", li