“鉴于 FileInputStream 的构造函数抛出 FileNotFoundException,它是 FileInputStream 的子类
异常,为带有 String 参数的名为 process 的公共方法编写标头
并且什么也不返回,其主体实例化了一个 FileInputStream 对象并且不包含
try-catch 语句。”
我知道这是一个太简单的问题,但我想确保我没有以愚蠢的方式搞砸。另外,不确定是否使用 FileNotFoundException 还是仅使用 Exception 或 IO 等。
public process(String file) throws FileNotFoundException {
FileInputStream file = new FileInputStream("stuff.txt");
}
throws 子句的内容很好。抛出 IOException 并不可怕,但最好具体一些。调用代码仍然可以将其视为 IOException。
一般来说,除了特殊情况(Junit 方法和类似的情况,抛出的所有内容都会被异常处理程序捕获)之外,您不应该抛出异常,因为它会强制所有调用它的内容进入处理异常的位置(其中它可能不是适当的地方做这件事,最好让大多数异常冒泡到一个可以统一处理的地方)或者也抛出异常,然后将其他调用方法放在同一位置。
您的方法声明无效,因为没有返回类型。不返回任何内容的方法声明为返回类型 void。
对方法参数使用与局部变量相同的名称是行不通的,您应该使它们不同。构造函数调用应将方法参数作为参数(而不是硬编码字符串文字)。 (+1 至geceo 的回答 https://stackoverflow.com/a/28900359/217324因为我指出了这一点,所以我错过了这一点。)
作为建议,如果您的代码使用反映变量内容的名称,它会更清晰。调用文件输入流file
不清楚,最好这样称呼inputStream
。调用字符串file
不清楚,最好这样称呼filename
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)