現時点では、Playframework2 を使用しながら Web サイトを開発しています。私はプログラミングの初心者です。例外に関する本を何冊か読んだことがありますが、現実の世界では、例外処理は本当に奇妙です。
正直に言うと、どの例外がスローされるかはあまり気にしません。すべての例外を同じ方法で処理します。
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 を何度も何度も書くのが面倒でした。これは重複したコードです。
例外処理を伴う大きなアプリケーションを設計する方法を説明した本があるかもしれません。