java - 我应该使用异常(exception)吗?

标签 java exception if-statement

我在这里做的是一个简单的登录。我不确定的是我是否应该使用异常来表示登录不成功(错误的昵称或错误的密码或两者都有)或只是一个简单的 if\else 结构。

try
{
     catalogo.getUtenteAttivo();
      JOptionPane.showMessageDialog(login, "Login avvenuto con successo", "Avviso", JOptionPane.PLAIN_MESSAGE);
}
catch(InvalidLoginException exception)
{
    JOptionPane.showMessageDialog(login, "Login non riuscito", "Errore", JOptionPane.ERROR_MESSAGE);
}

代码是意大利语的,但您可以大致了解我正在尝试做什么。

最佳答案

我认为一个简单的 if/else 应该没问题。 Exception 是针对在您的代码上下文中发生的一些通常错误的异常事件。登录失败更像是一次业务事件。这是预期的,您的代码将正常工作。

我会用任何方法来检查用户的凭据返回正确的状态,而不是在登录失败时抛出异常。

但是,如果检查登录的进程自身失败,那么这是一个异常条件,应该抛出一个异常。

关于java - 我应该使用异常(exception)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21995041/

相关文章:

java - 拦截应用程序发出的套接字调用并将其映射到自定义套接字

java - 在调用 getSingleResult() 方法时出现 java.lang.ClassCastException?

c - 为什么 "if (i++ && (i == 1))"是假的,而我是一个值为 1 的整数?

java - 我可以将 GLSurface View (动画)设置为背景吗?

java - 有没有更简洁的方法来实现这一点?

java - 如何在另一个 Activity 中调用一个 Activity 的对象?

java - NullPointerException 而没有什么是 null

java - 从 2.3 升级后通过 Android Studio 2.3.3 安装 apk 的未知失败 (UnsatisfiedLinkError)

ios - NSPredicate 的 CoreData 缓存错误

python - 检查 Pandas 列列表中的项目是否包含另一列中的值