目前我正在使用 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,这是重复的代码。
也许有一本书解释了如何设计一个带有异常处理的大型应用程序?