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

2024-03-17

“鉴于 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(使用前将#替换为@)

如何编写抛出异常的方法头 的相关文章

随机推荐