gpt4 book ai didi

java - 如何编写抛出异常的方法头

转载 作者:行者123 更新时间:2023-11-30 06:15:24 27 4
gpt4 key购买 nike

“鉴于 FileInputStream 的构造函数抛出 FileNotFoundException,它是异常,为一个名为 process 的公共(public)方法编写 header ,该方法采用 String 参数并且不返回任何内容,并且其主体实例化了一个 FileInputStream 对象并且不包含try-catch 语句。”

我知道这是一个太简单的问题,但我想确保我没有以愚蠢的方式搞砸。此外,不确定是使用 FileNotFoundException 还是仅使用 Exception 或 IO 等。

public process(String file) throws FileNotFoundException {

FileInputStream file = new FileInputStream("stuff.txt");
}

最佳答案

throws 子句的内容很好。抛出 IOException 并不可怕,但最好具体一些。调用代码仍然可以将其视为 IOException。

通常你不应该抛出 Exception 除非特殊情况(Junit 方法和类似的情况,所有抛出的东西都会被异常处理程序捕获),因为它强制所有调用它的东西进入处理 Exception 的位置(它可能不是这样做的合适地方,最好让大多数异常冒泡到一个可以统一处理的地方)或者也抛出异常,然后将其他调用方法放在相同的位置。

您的方法声明无效,因为没有返回类型。不返回任何内容的方法声明为返回类型为 void。

对方法参数使用与局部变量相同的名称是行不通的,您应该使它们不同。构造函数调用应将方法参数作为参数(而不是硬编码字符串文字)。 (+1 到 geceo's answer 指出那个,我错过了那个。)

作为建议,如果您的代码使用反射(reflect)变量内容的名称,您的代码会更清晰。调用一个FileInputStream file 不太清楚,最好叫它inputStream。调用一个Stringfile不太清楚,还是调用filename比较好。

关于java - 如何编写抛出异常的方法头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28899425/

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