【发布时间】:2014-06-20 20:25:24
【问题描述】:
这可能是一个奇怪的问题,但我仍然认为我会要求深入了解这一点,并阻止我在编码时做错事。
假设我有一个函数 func1(),在其中我调用了一个函数 func2()。 func2() 抛出异常 e1。我想在 func1() 中捕获这个异常。
所以我是否在函数本身的开头开始一个 try 块并在 func1() 的末尾用 catch 块结束它,而不是仅仅围绕我调用函数 func2( )。
我从编码人员的角度知道,如果抛出异常,他将能够准确地知道异常来自哪里。如果我们忽略这一点,将整个方法放在 try-catch 中是否还有其他不良影响?
编辑 - 代码片段
所以我将 JSON 字符串转换为 JSON 节点。此操作引发异常。但是,我没有用 try-catch 块包围这一语句,而是将整个函数放在 try 块中。它对我来说看起来更干净。 :)
public void storePublicData(String publicData, String twitterId) {
try {
Date date=new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String day = formatter.format(date);
BasicDBObject query = new BasicDBObject("date", day);
query.append("brand_id", twitterId);
JsonNode publicDataJsonNode;
publicDataJsonNode = JSONOperations.castFromStringToJSONNode(publicData);
DBObject document = BasicDBObjectBuilder.start()
.add("brand_id", twitterId)
.add("date", day)
.add("followers", publicDataJsonNode.get("followersCount").asText())
.add("tweets", publicDataJsonNode.get("tweetsCount").asText())
.get();
twitterCollection.update(query,new BasicDBObject("$set", document), true, false);
} catch (JSONParamsException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
【问题讨论】:
-
如果您添加一些代码片段,您的问题会更有价值。 :) 无论如何,这个问题最好放在Code Review 或Software Engineering,也许吧。
-
哈,这个问题的用户名非常合适 :) 同意,对程序员可能更好。
-
添加了代码片段。 :) 我希望现在这是一个更有价值的问题.. :D