【问题标题】:got error in try catch finally statementtry catch finally 语句中出现错误
【发布时间】:2013-05-20 17:05:59
【问题描述】:

任何人,请帮助我。我在 try 语句中遇到错误,警告说我必须将 finally 语句放在那里,但警告仍然在那里。我已经将它复制到新页面并重试,但仍然出现相同的错误。

private void receiveMsg() {
    Bundle bundle = this.getIntent().getExtras();
    final String param1 = bundle.getString("keyCourseId");
    final String param2 = bundle.getString("keyChatId");
    final String param3 = bundle.getString("keyUserId");
    final String param4 = bundle.getString("keyChatMsgsId");
    // TODO Auto-generated method stub

    linkurl = new Koneksi(this);
    SERVER_URL = linkurl.getUrl();
    SERVER_URL += "/mobile/ChatReceive.php?idc="+param1+"&idch="+param2+"&idu="+param3+"&idcm="+param4;
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(SERVER_URL);
    ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();{
        try {
           //add parameter
            httpPost.setEntity(new UrlEncodedFormEntity(param));

            HttpResponse httpRespose = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpRespose.getEntity();

            //read content
            InputStream in = httpEntity.getContent();
            BufferedReader read = new BufferedReader(new InputStreamReader(in));

            String content = "";
            String message = "";

            while((message = read.readLine())!=null){
               content += message;
            }
           Log.d("ADBUG", "content: "+content);


            //json
            if(!content.equals("null")){

               try {
                  JSONArray jArr = new JSONArray(content);
                  String chatname="";
                  String messages="";

                  for(int i=0;i<jArr.length();i++){
                     JSONObject jObj = jArr.getJSONObject(i);

                     String name = jObj.getString("name");
                     String msg = jObj.getString("msg");

                     chatname += name+"\n";
                     messages += msg+"\n";
                  }


                  messagesContainer.setTag(messages);
                  friendLabel.setText(chatname);

        }catch (Exception e) {


            showMessage(message, false);
        }
    } //<- in here the warning says must put finally statement but still got red mark
}
});
}

【问题讨论】:

  • 红色标记在那里是因为你有语法错误可能是平衡键(“{}”)
  • 你已经放了一个'try'没有添加'catch'......尝试为每个'try'添加一个'catch'......
  • @Daniel,非常感谢您的帮助.. 是的,我的括号不匹配...
  • @ASP 非常感谢你的帮助,我忘了在里面添加一些'catch' :)

标签: android exception-handling try-catch


【解决方案1】:

您的外部尝试没有匹配的捕获。而且您似乎有一个错误的没有开头的右括号。

在你解决这两个问题之后,我建议你很好地格式化你的代码,并仔细检查你的所有大括号是否正确匹配。

我还可以问一下,为什么在 ArrayList 构造函数之后放置一个括号块?如果它确实可以编译(我不确定),我看不出有什么好处。

【讨论】:

  • 非常感谢您的帮助,是的,我得到了不匹配的括号:)
猜你喜欢
  • 2017-03-27
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 2014-09-30
  • 1970-01-01
相关资源
最近更新 更多