新建异常并处理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 – 动态创建异常的工厂模式相关推荐
- JavaScript 设计模式核⼼原理与应⽤实践 之 创建型:工厂模式·抽象工厂——理解“开放封闭”
JavaScript 设计模式核⼼原理与应⽤实践 之 创建型:工厂模式·抽象工厂--理解"开放封闭" 一个不简单的简单工厂引发的命案 在实际的业务中,我们往往面对的复杂度并非数个类 ...
- JavaScript 设计模式核⼼原理与应⽤实践 之 创建型:工厂模式·简单工厂——区分“变与不变”
JavaScript 设计模式核⼼原理与应⽤实践 之 创建型:工厂模式·简单工厂--区分"变与不变" 先来说说构造器 在介绍工厂模式之前,为了辅助大家的理解,我想先在这儿给大家介绍 ...
- 设计模式(20):创建型-抽象工厂模式(Abstract Factory)
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- 【创建型】工厂模式(Factory Pattern)详解
工厂模式分为简单工厂.工厂方法.抽象工厂模式. 这一篇说一下简单工厂.工厂方法: 简单工厂 :用来生产同一等级结构中的任意产品.(不支持拓展增加产品) 工厂方法 :用来生产同一等级结构中的固定产品.( ...
- (创建型)设计模式——工厂模式(factory)
ps:在以下讲述工厂模式中,模仿的场景如下:我们需要生产Car,建立相对应的CarFactory.使用CarFactory工厂来生产Car,并且可以在生产过程中进行一些处理.类图和代码如下. 1.Mo ...
- Java设计模式之创建型:原型模式
一.什么是原型模式: 原型模式主要用于对象的创建,使用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象.UML类图如下: 原型模式的核心是就是原型类 Prototype,Prototype ...
- 抽象工厂模式java_Java之抽象工厂模式(Abstract Factory)
1.设计意图 提供一个接口,用于创建相关或者从属对象的族,而不是指定他们的具体类.以下以生产计算机为例给出UML类图: 2.演示案例 假设我们要生产一台计算机(广义的),一台计算机有一些共同的物件.小 ...
- Java设计模式之创建型:建造者模式
一.什么是建造者模式: 建造者模式将复杂产品的创建步骤分解在在不同的方法中,使得创建过程更加清晰,从而更精确控制复杂对象的产生过程:通过隔离复杂对象的构建与使用,也就是将产品的创建与产品本身分离开来, ...
- 创建型设计模模式---原型模式
设计模式 序号 内容 链接地址 1 设计模式七大原则 https://blog.csdn.net/qq_39668819/article/details/115390615 2 创建型设计模式–工厂模 ...
最新文章
- GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
- 参加维基链超级节点竞选有什么好处呢?
- oracle消除重复的行使用的什么函数,利用Oracle的row_number() over函数消除重复的记录...
- sqlserver55555_sqlserver把小数点后面多余的0去掉
- sc.textFile()默认读取本地系统文件还是HDFS系统文件?
- MapReduce Python
- 3.2 选择最可能的句子
- 软考之软件设计师之第一战计算机系统概论重点和坑
- libiconv android编译,编译cBPM-android-19—CodeBlocks—CentOS7— ndk10—编译libiconv和xerces-c...
- Appium自动化下拉刷新
- 根据两个字段去重SQL语句
- MacOS搭建golang开发环境
- 阿里视觉AI的开放平台之路
- html十六进制和RGB颜色表
- golang获取时间所在周的起止时间
- QPS达到30万的elasticsearch架设之道
- dell 2950 LED报W1228 ROMB Batt 24hr 警告处理
- 【JLOI2014】松鼠的新家
- i3处理器_【评测室首发】老i7集体下课,十代i3评测来了!
- 硬盘坏道检测和修复(HDDL、MHDD、THDD、HDDSPEED)图文教程、下载
热门文章
- iOS 计算两个日期之间的差值
- 【Android】ActionBar的使用(1)
- 基于 CoreText 实现的高性能 UITableView
- iOS - 实现映客首页 TabBar 和滑动隐藏 NavBar 和 TabBar
- docker制作镜像篇(基于容器)
- 中矿大新生赛 A 求解位数和【字符串】
- 17.SpringMVC核心技术-拦截器
- freemarker写select组件报错总结(六)
- \\s+ split替换
- RegularExpressions(4) RegularExpressions 成员(一)