Java Parseuser在后台保存,但仍保存到它';引发异常时的本地存储

Java Parseuser在后台保存,但仍保存到它';引发异常时的本地存储,java,android,email,parse-platform,Java,Android,Email,Parse Platform,我想允许用户更新他们的电子邮件,当他们正确输入所有内容时,它工作正常,但当他们不这样做时,奇怪的事情发生了 因此,对于这个示例(我一直在测试的示例),当前用户电子邮件是email@gmail.com他们想用h取代它作为他们的电子邮件 以下是更新用户电子邮件的代码 // get current user currentUser = ParseUser.getCurrentUser(); // get user input (shortened to show result) final Stri

我想允许用户更新他们的电子邮件,当他们正确输入所有内容时,它工作正常,但当他们不这样做时,奇怪的事情发生了

因此,对于这个示例(我一直在测试的示例),当前用户电子邮件是
email@gmail.com
他们想用
h
取代它作为他们的电子邮件

以下是更新用户电子邮件的代码

// get current user
currentUser = ParseUser.getCurrentUser();

// get user input (shortened to show result)
final String email = "h";

// reset user email
currentUser.setUsername(email);
currentUser.setEmail(email);

// save progress
currentUser.saveInBackground(new SaveCallback()
{
    @Override
    public void done(ParseException e)
    {
        if (null == e)
        {
            // success
            // tell user of success
            Toast.makeText(getActivity(), "new email is " + email,
                          Toast.LENGTH_SHORT).show();

            // restart activity to update information
            restartActivity();
        }
        else
        {   
            // update failed
            // look at the ParseException to see what happened.
            errorMessageDialog("Oops!", e.getMessage());
        }
    }
});
所以很明显会抛出一个解析异常,它不是一个有效的电子邮件地址,当我检查数据库时就是这样。所有行中均未更新任何内容;但是,如果我稍后查看当前电子邮件,则会发生意外情况

// get current user
currentUser = ParseUser.getCurrentUser();

// get username
currentUser.getUsername();

// get email
currentUser.getEmail();
当我运行代码时,它会显示我的电子邮件和用户名是
h
,但如果我检查数据库,它仍然是
example@gmail.com

即使数据库抛出异常,parse仍然会更新其本地缓存?我不知道问题出在哪里可能
saveInBackground(new SaveCallback()
使用的方法是否错误