InvalidParameterException或IllegalArgumentException - c#

在Java中,什么时候应该抛出IllegalArgumentException,什么时候应该抛出InvalidParameterException
来自C#背景,我们将有一个从ArgumentNullException派生的ArgumentException。如果我想在Java中实现等效的ArgumentNullException / ParameterNullException,是否应该扩展IllegalArgumentExceptionInvalidParameterException

注意:我并不是在尝试实现ArgumentNullException / ParameterNullException,如果我可以将它们与C#框架相匹配,这只会为我提供更好的理解。

参考方案

显然没有必要将这些异常子类化,我将立即使用它们来表示已使用非法参数调用了一个方法。我总是会在异常消息部分中描述真正的原因。
java.security.InvalidParameterException已经是IllegalArgumentException的子类,设计用于JCA / JCE引擎类(JavaDoc),并且我不会在其他上下文中使用或子类化。

Java-NoSuchMethodError没有被异常捕获 - java

我的印象是,Exception非常适合捕获所有可能的异常,因为每个异常都具有Exception作为基类。然后,在开发Android应用程序时,我使用了以下方法,该方法在某些自定义ROM中已被删除。boolean result = false; try{ result = Settings.canDrawOverlays(context); } catch(E…

Java:捕获异常-未选中与已选中 - java

我有一些代码将字符串(用户输入)拆分为一个数组,并将该数组的元素作为参数传递给方法。如果数组没有足够的元素,则会自动引发ArrayIndexOutOfBoundsException。但是,这是一个未经检查的异常,并且由于这是用户输入错误的问题,因此我可以事先检查此条件并抛出一个检查的异常。因此,我有几个问题:处理未检查的异常还是抛出检查的异常会更好吗?如果确…

Java API和已检查/未检查的异常混淆 - java

关于受检查和未经检查的异常的问题在这里和其他网站上已经提出了数百万次,但是我仍然对如此不同的答案感到困惑。在许多答案和文章中,我们可以阅读以下常规声明: 未经检查的运行时异常通常表示以下情况: 讲,在程序逻辑中反映错误,不能 从运行时合理地恢复。和检查异常 表示在以下人员的直接控制范围之外的无效条件 程序(无效的用户输入,数据库问题,网络中断, 缺少文件)这…

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java中是否有一种方法可以通过使用Instrumentation拦截对象的创建? - java

我需要拦截所有ClassNotFoundException或NoClassDefError的创建:问题是这些异常中的某些被某些库捕获并以其他异常类型重新抛出,所以我无法检索类名。有没有一种方法可以使用Intstrumentation在Java中执行此操作? 参考方案 您可以编写自己的ClassLoader实现,并以loadClass()或其他可用方法应用逻辑…