gpt4 book ai didi

Java:捕获异常 - 未检查与检查

转载 作者:行者123 更新时间:2023-12-02 08:52:51 25 4
gpt4 key购买 nike

我有一些代码将字符串(用户输入)拆分为数组,并将该数组的元素作为参数传递给方法。如果数组没有足够的元素,则会自动抛出 ArrayIndexOutOfBoundsException。但是,这是一个未经检查的异常,并且由于这是用户输入不正确的问题,因此我可以提前检查此情况并引发检查的异常。

所以,我有几个问题:

  1. 处理未经检查的异常或引发检查的异常会是更好的形式吗?
  2. 如果我确实抛出了受检查的异常,我应该使用 IllegalArgumentException 吗?我的理解是,它是针对非法参数类型,而不是非法参数数量。

谢谢。

最佳答案

检查异常是编译器强制您处理的异常,而未检查异常则不是这种情况。现在,根据您的问题,您的代码应该以一种时尚的方式编写,以便不会出现引发未经检查的异常的情况(例如:-空指针异常,ArrayIndexOutOfBoundsException)。

如果您的代码抛出未经检查的异常,则代码中存在问题。正如您在案例中指出的那样,输入数据不正确,那么理想情况下,您应该对输入进行验证,无论其是否符合预期,并给出错误消息,因此不需要将未经检查的异常转换为已检查的异常

因此,在理想的情况下,无需将未经检查的异常转换为已检查的异常。是的,如果有特定的场景,我们在技术上可以做到这一点。

关于Java:捕获异常 - 未检查与检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15983826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com