zoukankan      html  css  js  c++  java
  • 7. 异常处理

    异常分别位除零错误(ZeroDivisionError)、命名错误(NameError))、类型错误(TypeError)

    1、异常处理

    >>> while True:
    ... try:
    ... 	x = int(input("Please enter a number: "))
    ... 	break
    ... except ValueError:
    ... 	print("Oops! That was no valid number. Try again...")
    ...
    
    # 一个except 子句可以在括号中列出多个异常的名字
    ... except (RuntimeError, TypeError, NameError):
    ... 	pass
    

    注意:如果发生了一个异常,在except 子句中没有与之匹配的分支,它就会传递到上一级try 语句中。如果最终仍找不到对应的处理语句,它就成为一个未处理异常,终止程序运行,显示提示信息。

    import sys
    try:
    	f = open(’myfile.txt’)
    	s = f.readline()
    	i = int(s.strip())
    except IOError as err:
    	print("I/O error: {0}".format(err))
    except ValueError:
    	print("Could not convert data to an integer.")
    # 通配符
    except:
    	print("Unexpected error:", sys.exc_info()[0])
    	raise
    

    最后一个except 子句可以省略异常名称,以作为通配符使用。你需要慎用此法,因为它会轻易隐藏一个实际的程序错误! 可以使用这种方法打印一条错误信息,然后重新抛出异常(允许调用者处理这个异常)

    for arg in sys.argv[1:]:
    	try:
    		f = open(arg, ’r’)
    	except IOError:
    		print(’cannot open’, arg)
    	else:
    		print(arg, ’has’, len(f.readlines()), ’lines’)
    		f.close()
    

    try ... except 语句可以带有一个else子句,该子句只能出现在所有except 子句之后。当try 语句没有抛出异常时,需要执行一些代码,可以使用这个子句。

    未看完,用户自定义异常

  • 相关阅读:
    jquery大文件(视频)上传解决方案
    ajax大文件(视频)上传解决方案
    JavaScript大文件(视频)上传解决方案
    js大文件(视频)上传解决方案
    vue大文件(视频)上传解决方案
    前端大文件(视频)上传解决方案
    网页大文件(视频)上传解决方案
    Web大文件(视频)上传解决方案
    http大文件(视频)上传解决方案
    B/S大文件(视频)上传解决方案
  • 原文地址:https://www.cnblogs.com/BigMario/p/13577566.html
Copyright © 2011-2022 走看看