编译错误 - 无法访问的语句

Posted

技术标签:

【中文标题】编译错误 - 无法访问的语句【英文标题】:Compiling error - unreachable statement 【发布时间】:2011-10-31 01:04:28 【问题描述】:

我收到此错误:

src\server\model\players\Client.java:1089: error: unreachable statement
                        PlayerSave.saveGame(this);
                        ^
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error

这是代码:

    public void destruct() 
                PlayerSave.saveGame(this);
                 if(disconnected == true)  
                    saveCharacter = true;
                 
        if(disconnected == true)
         getTradeAndDuel().declineTrade();
  
        if(session == null) 
                Server.panel.removeEntity(playerName);
            return;
            PlayerSave.saveGame(this);
            if (clanId >= 0)
            Server.clanChat.leaveClan(playerId, clanId);
            getPA().removeFromCW(); 
            if (inPits)  
            Server.fightPits.removePlayerFromPits(playerId);
        
        Misc.println("[DEREGISTERED]: "+playerName+"");
        PlayerSave.saveGame(this);
                 saveCharacter = true;
        HostList.getHostList().remove(session);
        disconnected = true;
        session.close();
        session = null;
        inStream = null;
        outStream = null;
        isActive = false;
        buffer = null;
        super.destruct();
 

【问题讨论】:

【参考方案1】:

本节:

if(session == null) 
            Server.panel.removeEntity(playerName);
        return;

这样读:

if(session == null) 
    Server.panel.removeEntity(playerName);

return;

所以返回之后的任何代码都不会运行。

【讨论】:

【参考方案2】:

你需要改变这个:

if (session == null) 
    Server.panel.removeEntity(playerName);
return;

到这里

if (session == null) 

    Server.panel.removeEntity(playerName);
    return;

您的 IDE 应该具有格式化或美化代码的功能。它将修复缩进,从而轻松发现与您遇到的错误类似的错误。

【讨论】:

以上是关于编译错误 - 无法访问的语句的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Java 会出现“无法访问的语句”编译器错误?

编译问题:无法访问的语句

Java错误:创建新的链表节点时无法访问语句[关闭]

无法使用反应应用程序访问 sass 变量编译错误

JAX-WS/WS-Addressing WAS 8.5.5 编译错误和无法访问WSDL错误

编译器错误 C2248:“QObject::Qobject”:无法访问在类“QObject”中声明的私有成员