0

这段代码的问题似乎是 if 语句的“else”部分被执行,即使变量匹配(所以“if”为真)。请问有什么建议吗?

谢谢!

    public void CheckInstalledDBVersion() throws NullPointerException, IOException {

    try {

                  //TRY TO OPEN DATABASE AND READ VERSION
                  //WRITE VERSION TO InstalledDBversion

    } catch(RuntimeException e) {

                  //IF TABLE COULD NOT BE QUERIED
                  //SET InstalledDBversion to Bogus value

        InstalledDBversion = "00";
        Log.d("RTE", ".. but we've catched it!");

    } finally {
        if (InstalledDBversion.equals(PackedDBversion)){

            // Installed DBVersion == Packed DBVersion .. nothing happens

        }
        else

                showDialog(DBCHECKFAILDIALOG);
            initialiseDatabase = false;
            copyDB();
        }
    }


所以,当我执行时,copyDB();即使InstalledDBversion.equals(PackedDBversion) == true

4

2 回答 2

1
else
   showDialog(DBCHECKFAILDIALOG);

initialiseDatabase = false;
copyDB();

为您固定缩进。copyDB位于if/then/else区块之外。使用带有代码格式的 IDE。

于 2011-11-22T08:42:19.063 回答
0

else 块中应该包含哪些行?showDialog(DBCHECKFAILDIALOG)仅包括在内。您是否缺少{}else 块的一组?

于 2011-11-22T08:40:58.773 回答