gpt4 book ai didi

java - 我应该在方法中捕获这个 NumberFormatException 吗?

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

假设我有类似的方法

void A(long input) {

......

}

基本上,当输入很长或者可以成功地将其他类型转换为长时,它效果很好。

但是,当某些数据输入错误时,会抛出NumberFormatException。所以一个稳健的方法应该是

void A(long input){

try{
...
}catch(NumberFormatException e){

}

}

但是,一些开发人员认为该项目是一个 BS 应用程序。所以输入是从 Web ui 传递的。所以它可以确认输入是有效的。并且不需要处理这个异常。

但我认为这是必须的。你怎么认为?谢谢。

最佳答案

如果该方法接受 long,则该方法本身内部不会进行转换 - 在调用该方法之前,参数将在压入堆栈时进行转换,并且您不会能够捕获方法本身内的转换错误。

如果您想传递一个带有参数的String,那么您将进行自己的转换——并且需要捕获异常或让它被抛出。任何一种方式都同样有效,并且选择取决于您想要如何处理无效值。如果您只是要抛出一个异常,表示“这实际上不是一个数字”或其他内容,那么您也可以直接抛出该异常。

关于java - 我应该在方法中捕获这个 NumberFormatException 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301615/

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