zoukankan      html  css  js  c++  java
  • python异常中的else作用

    一、概念 

    异常:

    常见的异常语句:

    1. try except else
    2. try finally
    3. raise
    4. assert
    5. with as
    

    二、else的作用

    首先,了解一下exception和else在作用:

     except:捕获try中的异常项,如IndexException, SyntaxError等,即异常处理器;

     else:在try中不存在任何异常时,才会执行else中的语句;

    这里,我想到了两个问题:1、else使用的时机是什么?2、存在与不存在else有什么区别?

    示例1:

    def fetcher(obj, index):
    	return obj[index]
    
    x = 'spam'
    
    try:
    	print fetcher(x, 3)
    except Exception:
    	print 'hhh'
    else:
    	print 'has no exception'
    	print fetcher(x, 2)
    	print '---' * 10
    
    try:
    	print fetcher(x, 4)
    except IndexError:
    	print 'got exception'
    else:
    	print 'has no exception'
    	print fetcher(x, 2)
    

      

     运行结果:

    m
    has no exception
    a
    ------------------------------
    got exception
    

     

    从上面的结果中可以看出,但try中存在异常时,不会执行else中的语句。这样,我们可以发现,如果在前面的语句发生异常时,后面的语句不需要继续执行下去,则可以放到else中

    示例2:

    def fetcher(obj, index):
    	return obj[index]
    
    x = 'spam'
    
    try:
    	print fetcher(x, 3)
    except Exception:
    	print 'hhh'
    else:
    	print 'has no exception'
    print fetcher(x, 2)
    print '---' * 10
    
    
    try:
    	print fetcher(x, 4)
    except IndexError:
    	print 'got exception'
    else:
    	print 'has no exception'
    print fetcher(x, 2)
    

     结果为:

    m
    has no exception
    a
    ------------------------------
    got exception
    a
    

      

    从上面的结果中可以得出,如果没有else将其他代码在except的后面,不管try中是否存在异常,都会执行后面的语句

  • 相关阅读:
    第二百零一天 how can I坚持
    第一百九十七-第二百天 how can I 坚持
    第一百九十六天 how can I 坚持
    第一百九十五天 how can I 坚持
    第一百九十四天 how can I坚持
    第一百九十三天 how can I 坚持
    第一百九十二天 how can I 坚持
    第一百九十一天 how can I 坚持
    杭电2085--核反应堆(打表)
    杭电1799--循环多少次
  • 原文地址:https://www.cnblogs.com/rolly-yan/p/6625289.html
Copyright © 2011-2022 走看看