4 回答

TA贡献1993条经验 获得超5个赞
如果查询抛出 一个 ,则该变量从未被赋值。在这种情况下,它应该有什么价值?SQLException
result
我建议你声明抛出 ,并让它继续,直到你到达一个特定于 UI 的方法,就像一个 set on 作为按钮上的侦听器。getParticularEmployee()
SQLException
Action
保持低级实现不受高级用户界面代码的影响,可以以更多方式重用它。今天,您正在创建一个用于员工管理的桌面应用程序。明天,假设您希望通过 Web 服务提供其某些功能。将逻辑与表示层分离将允许您构建新的前端,但重用后端上的所有逻辑。
您还遇到了资源问题。应该关闭,但是当您的方法返回时,您将失去对它的跟踪。此外,在完成使用之前,无法关闭它。PreparedStatement
ResultSet

TA贡献1829条经验 获得超13个赞
您必须初始化程序的所有分支。您的变量可能会在没有您照顾的情况下为空。
放入您的捕获块。result = null;
如果您的变量是有效的最终变量或最终变量,则最好进行实践。检查这个:https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.4

TA贡献1785条经验 获得超8个赞
因此,您需要问问自己,如果在块的开头引发异常会发生什么。如果确实发生这种情况,则不会为其分配值,因此您会收到该警告。try{}
result
您需要分配“默认值”值,或者(重新)引发适当的异常。
由于您返回的是 ,因此您可以改用此方法处理结果,这可能会为您提供返回 null(或者可能是空的可选)雇员的替代方法。ResultSet
添加回答
举报