Python循环语句使用中异常现象的处理


Python循环语句在实际的使用中和C#语言中的循环没有什么太大的区别。下面我们就来看看相关的代码。Python循环语句中的while和for循环中支持break和continue语句。

  • Python绑定C++程序具体实现方法浅谈
  • Python对象主要特征解析
  • 简述Python语言经验总结
  • Python脚本解决在游戏开发中的困难
  • Python中文对相关文件的改编和处理

break语句用于立刻中止循环,continue语句用于直接进入下一次循环(忽略当前循环的剩余语句)。break和continue语句在C#与Python循环语句中的用法是一致的,只用于语句所在的当前循环。如果需要退出一个多重循环,应该使用异常,因为Python中没有提供goto语句。

最后,Python中的循环还支持else语句,它只在循环正常完成后运行for和while循环),或者在循环条件不成立时立即运行(仅while循环),或者迭代序列为空时立即执行(仅for循环)。如果循环使用break语句退出的话,else语句将被忽略。下面的代码用于说明else在循环中的应用。

  1. # while-else   
  2. while i < 10:   
  3. ii = i + 1   
  4. else:  
  5. print 'Done'   
  6. # for-else   
  7. for a in s:   
  8. if a == 'Foo':   
  9. break10 else:  
  10. print 'Not found!' 

异常

Python循环语句和C#一样支持异常处理,利用try/except/finally结构,可以很方便的捕获异常,同时可以用raise语句手动抛出异常上述四个异常处理的关键字分别对应C#中的try/catch/finally/throw)。通过except,您可以将try标示的语句中出现的错误和异常捕获,except可以接受参数作为要捕获的异常,如果想要捕获多个异常,可以使用元组tuple)作为参数。没有参数的except被认为是捕获所有异常。而finally则用来在最后执行一定要运行的代码,例如资源回收。下面是一个简单的例子,来说明Python中的异常处理方式:

  1. try:   
  2. f = open('thefile.txt')   
  3. s = f.readline()   
  4. ...   
  5. except IOError, (errno, strerror):   
  6. print "I/O error(%s): %s" % (errno, strerror)   
  7. except ValueError:   
  8. print "Could not convert data to an integer."   
  9. except:  
  10. print "Unexpected error:", sys.exc_info()[0]  
  11. raise  
  12. finally:f.close() 

最后说明一点,Python循环语句的try也支持else语句。如果有一些代码要在try没有发生异常的情况下才执行,就可以把它放到else中这一点与finally不同,finally分支无论如何都会被执行)。

关于异常处理我们就简单介绍到这里,若需了解更多关于Python循环语句异常处理类、内建异常类型、自定义异常等内容。

相关内容

    暂无相关文章

评论关闭