新建异常并处理java_java – 动态创建异常的工厂模式
我創建了Exception xml并動態創建并拋出異常.
com.package.CheckedException
Checked Exception Message
com.package.UnCheckedException
UnChecked Exception Message
我根據異常鍵使用反射動態創建異常對象.
public static void throwException(final String key) throws CheckedException, UncheckedException {
ExceptionMapping exceptionMapping = exceptionMappings.getExceptionMappings().get(key);
if (exceptionMapping != null) {
try {
Class exceptionClass = Class.forName(exceptionMapping.getClassName());
try {
throw ()exceptionClass.newInstance(); // line X
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
我想知道哪一個類在X行進行類型轉換,這樣我就不需要使用If / else了.原因我不想使用if else,有可能在將來可能會添加新類,并且我不希望每次添加新異常時都更改此代碼.
我的基本邏輯是我的服務層將拋出CheckedException或UncheckedException.如果拋出CheckedException,它將由我的Web層處理.此外,我不能拋出超級父類Exception或Throwable,因為我的web層只捕獲CheckedException.如果拋出UncheckedException,它將顯示異常頁面.
請幫助我,因為我無法繼續前進.
編輯:也接受任何其他解決方案.
總結
以上是生活随笔為你收集整理的新建异常并处理java_java – 动态创建异常的工厂模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 删除 修改密码_Mysql数
- 下一篇: java用构造方法定义book类_JAV