Tom*_*Tom 5 python django json exception
我有:
MY_PATH_DIR = 'path/to/my/json/file.json'
try:
with open(MY_PATH_DIR, 'r') as f:
MY_PATH_DIR = json.load(f)
except IOError, RuntimeError, ValueError:
pass
except PermissionDenied:
pass
Run Code Online (Sandbox Code Playgroud)
我想捕获所有可能的错误。和
IOError- 当文件不存在或有语法错误(无效的 JSON)时,我会捕获错误。
RuntimeError- 无法测试它,但我认为在出现意外错误的情况下从文档中这是有意义的
ValueError- 我从这里出发,以防万一没有返回
PermissionDenied- 是一个特定的 Django 错误
还有其他有意义的例外吗?我不确定OSError这里是否有意义。我认为这个问题会更早提出,对吗?
捕获异常的目的是在发生不良情况时以预期的方式控制程序的行为。如果您甚至不确定什么会导致异常发生,捕获它只会吞掉您可能存在的底层编程错误。
我不会向单个代码块添加尽可能多的异常,您应该只添加您关心的内容。更极端的是,每行代码都会产生某些异常,但由于显而易见的原因,您无法try except对所有异常都执行此操作。
编辑:
为了正确起见,既然您I don't want my code to break在任何情况下都提到过,您可以简单地执行以下操作:
try:
# json.load
except Exception as e:
print "Let's just ignore all exceptions, like this one: %s" % str(e)
Run Code Online (Sandbox Code Playgroud)
这将告诉你发生什么异常作为输出。
| 归档时间: |
|
| 查看次数: |
8900 次 |
| 最近记录: |