【发布时间】:2017-06-14 03:38:12
【问题描述】:
我在 uni 从事 Java 项目,我必须尽可能地忠于面向对象。所以我有一个疑问。
我有许多带有文本字段和按钮的窗口,每次单击按钮时,我都需要检查框架中的文本字段是否为空。
现在我所做的是在 ActionListener 类中添加一个新方法并将其命名为 check()。此方法检查我所说的内容,如果有空文本字段,它会引发我创建的异常(比如说 EmptyFieldsException)。
然后我在 actionPerformed 中有一个 try/catch 块,调用 check 方法。如果捕获到异常,则会弹出一个 JOptionPane。
我的问题是:这是处理此类问题的好方法(使用异常)吗?还是实际上是矫枉过正?也许我可以简单地在 actionPerformed 中使用 if 语句,我对此有点困惑。
【问题讨论】:
-
恕我直言,不要为此使用例外。异常应该用于异常情况,(不幸的是?)无效输入并不是那么异常。稍后处理输入时可以使用异常,有点提醒您忘记检查输入,但不是在检查输入时。
-
异常很慢,不应该用于普通检查。特别是它们不应该用于像空文本字段这样不寻常的东西。使用简单的
if(myTextField.getText.length() == 0)或类似名称。 -
@rossum 您缺少
getText()上的括号。 -
@Brandon。哎呀!感谢您的更正(尽管我确实说“或类似”:))更好,
if(myTextField.getText().length() == 0)或类似。
标签: java