【发布时间】:2012-08-13 05:55:32
【问题描述】:
目前我正在使用 Playframework2 开发网站。我只是编程的初学者。我读了一些关于异常的书,但现在在现实世界中,异常处理真的很奇怪。
老实说,我并不关心抛出了什么异常,我以相同的方式处理所有异常。
return badrequest(); 。我只使用异常进行日志记录。
try{
...
}
catch(Exeption e){
//log
return badrequest();
}
但这是太多样板,写起来真的很烦人,因为每个方法都会抛出相同的异常。
您可以给我任何提示、提示或资源吗?
编辑:
我的“全局”配置文件就是一个例子。因为每次我认为我可以为这个问题写一个单例时,我都需要连接到数据库。
private Datastore connect() throws UnknownHostException, MongoException,
DbAuthException {
Mongo m = new Mongo(dbUrl, dbPort);
Datastore ds = new Morphia().createDatastore(m, dbName);
boolean con = ds.getDB().authenticate(username, password.toCharArray());
if (!con)
throw new DbAuthException();
return ds;
}
这也导致每次我想连接到数据库时都会尝试捕获。我的问题是我认为我无法处理它们。
代码示例:
public static Result addComment(String title) {
try {
Datastore ds = DatabaseConnect.getInstance().getDatastore();
Form<Comment> filledForm = commentForm.bindFromRequest();
Comment userComment = filledForm.get();
userComment.setUsername(Util.getUsernameFromSession(ctx()));
User.increasePointsBy(ctx(), 1);
UserGuides.addComment(title, userComment);
} catch (Exception e) {
return badRequest();
}
return redirect(routes.Guides.blank());
}
在这种情况下,我懒得一遍又一遍地编写相同的 try 和 catch,这是重复的代码。
也许有一本书解释了如何设计一个带有异常处理的大型应用程序?
【问题讨论】:
-
关于什么的提示、提示或资源? Web 应用程序应该优雅地处理异常(如果您不需要终止)。
-
我不确定您使用的是哪个 IDE,但是如果您使用的是 eclipse,您也可以使用“代码模板”来帮助加快工作速度。通常,如果可能,您希望尽量避免重复代码,但在某些情况下您不能这样做,代码模板可以帮助加快流程。
标签: java exception web-applications