個人的には(私が正しいか何かを意味するわけではありません)、メソッドにtry-catchステートメントを含めると、リーダーの内部構造が「オーバーロード」されるように見えます。DBを操作するときは、SQLExceptions、ConnectionExceptionsなどを含める必要があります。1つのオブジェクトにすべての例外の責任を負わせる方法はありますか?
私はそのようなことを考えました:
enum TaskEnum {
doSmth1, doSmth2, doSmth3, doSmth4
}
class OuterClass {
doWhatever(TaskEnum task, String… args) {
try {
switch(task) {
case (doSmth1): InnerClassInstance.execute1(args); break;
case (doSmth2): InnerClassInstance.execute2(args);break;
case (doSmth3): InnerClassInstance.execute3(args);break;
case (doSmth4): InnerClassInstance.execute4(args);break;
} catch(Exception e) {
e.printStack()}
}
}
}
class InnerClass {
execute1(String args) throws Exception() {bla-bla-bla};
execute2(String args)throws Exception() { bla-bla-bla };
execute3(String args)throws Exception() { bla-bla-bla };
execute4(String args)throws Exception() { bla-bla-bla };
}
このようにして、外部クラスは、彼のすべての内部クラスメソッドによってスローされた例外を処理します。もちろん、私の解決策が良いものだと考えられれば、私はこの質問をしません。これは単なる例であり、アイデアを理解するためのものです。
これについてのあなたの考えを共有してください。