我有一个简单的登录/注册表单,用于我正在开发的应用程序作为课程的一部分。 我正在使用ParseUser来注册用户并将其登录。
当用户输入已存在的用户名时,会显示Toast ...
@Test
public void my_controller_test() throws Exception {
mockMvc.perform(post("/create-user").principal(new MockPrincipal())
.andExpect(status().isCreated());
}
...来自 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();
}
}
});
的错误消息,例如“注册失败。此用户名已存在帐户。”
但是,如果用户没有输入任何内容,即将pw或用户名字段留空,I get this in the app
以及日志中的以下内容:e.getMessage()
我想看到的只是错误消息I/Sign up: failed. Reason - com.parse.ParseException: java.lang.IllegalArgumentException: Username cannot be missing or blank
,它是第二个异常Username cannot be missing or blank
的“.getMessage()”
我该怎么做呢?谢谢!
答案 0 :(得分:2)
我在这里看到两个主要选项:
for($i=0; $i < $checkboc_count; $i++)
获取原因,并在原因上调用getCause()
,而不是从顶级异常本身调用。