问题标签 [illegal-input]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
exception - 方法应该忽略非法输入还是引发异常?
如果一个方法检查它的输入并检测到非法输入,它应该怎么做:引发异常(或使用另一个错误机制)或什么都不做/忽略错误的输入?
在 Java 中,如果给定空引用作为参数,HashTable 类将抛出 NullPointerException。这有时很烦人,但我认为它可能有优势,因为错误会被及早发现。其他一些方法忽略非法输入,什么也不做。这不那么烦人,通常不会发生任何不好的事情,但可能会有一些情况,然后这种行为会导致头痛 - 或者不会?
我不确定,哪种方式更好。所以我问你:你对这个问题怎么看?
java - 等价于 C++ 中 Java 的 IllegalArgumentException
在 Java 中,如果方法的输入参数无效,我们可以抛出一个IllegalArgumentException
(类型为RuntimeException
)。在 C++ 中,没有已检查和未检查异常的概念。标准 C++ 中是否有类似的异常可用于指示运行时异常?或者是否存在标准中没有的通用样式,但每个人都在实践中遵循这种情况?
或者,我应该创建自己的自定义异常并抛出它吗?