gpt4 book ai didi

java - 在 ParseException 中打印异常消息

转载 作者:搜寻专家 更新时间:2023-11-01 09:33:38 27 4
gpt4 key购买 nike

作为类(class)的一部分,我正在开发的应用程序有一个简单的登录/注册表单。我正在使用 ParseUser 注册用户并让他们登录。

当用户输入一个已经存在的用户名时,会显示一个 Toast...

    ParseUser user = new ParseUser();
user.setUsername(username);
user.setPassword(password);

user.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException e) {

if (e == null) {

Toast.makeText(MainActivity.this, "Sign up successful!", Toast.LENGTH_SHORT).show();

} else {

Log.i("Sign up", "failed. Reason - " + e.toString());
Toast.makeText(MainActivity.this, "Sign up failed. " + e.getMessage(), Toast.LENGTH_SHORT).show();

}
}
});

...带有来自 e.getMessage() 的错误消息,例如,“注册失败。此用户名的帐户已存在。”

但是,如果用户未输入任何内容,即,将密码或用户名字段留空,I get this in the app

以及日志中的以下内容:I/Sign up: failed. Reason - com.parse.ParseException: java.lang.IllegalArgumentException: Username cannot be missing or blank

我想看到的只是错误信息Username cannot be missing or blank ,这是第二个异常的“.getMessage()” java.lang.IllegalArgumentException

我该怎么做?谢谢!

最佳答案

我在这里看到两个主要选项:

  1. 使用 getCause() 获取原因,并针对原因调用 getMessage(),而不是从顶级异常本身调用。
  2. 通过获取“Exception”子字符串的最后一个实例并丢弃之前(和包括)它之前的所有内容来手动格式化字符串;这可能应该用作最后的选择,因为它增加了复杂性并降低了可读性。

关于java - 在 ParseException 中打印异常消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45142889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com