【发布时间】:2018-03-26 18:06:14
【问题描述】:
假设我有一个方法combine
T[] combine(T[] arr1, T[] arr2, Comparator<T> cmp, Class<?> type) throws IllegalArgumentException{
...
}
在其中我想使用反射创建一个数组。 T[] newArray = (T[]) Array.newInstance(type, arr1.length+arr2.length);。如果在初始化 newArray 期间出现错误,我想抛出 new IllegalArgumentExeption()。
我应该怎么做?我可以用 try 和 catch 块来做到这一点吗?在 try 块中我会尝试初始化数组,在 catch 中我会抛出 IllegalArgumentEception。
【问题讨论】:
-
您是否尝试在 Try.. Catch.. 中实现它?不过,您必须指定要返回的异常,即 IllegalArgumentException 否则我认为您会得到通用异常。
-
我很好奇,为什么要问这个问题?为什么不尝试从 catch 块中抛出异常来查看它是否有效?它会回答你的问题,而且可能比在这里问更快。