java - 如何从 void 函数中获取值?

标签 java try-catch

我当前有一个具有 void 函数的代码,并且该函数中有一些被 try/catch 包围的值,我需要获取该值。

知道如何从 try/catch 中提取值吗?无法真正将函数更改为字符串方法。

下面是代码:

  protected void onPostExecute(JSONObject json) {

        if (json != null) {
            Toast.makeText(FindFriends.this, json.toString(),
                    Toast.LENGTH_LONG).show();

            try {
                name = json.getString("name");
                System.out.println(name);

            } catch (JSONException e) {
                e.printStackTrace();
            }

        }

    }

提前致谢!

编辑。添加了更多代码以进行澄清。

 class AttemptLogin extends AsyncTask<String, String, JSONObject> {

        // JSON parser class
        JSONParser jsonParser = new JSONParser();
        private static final String LOGIN_URL = url;

        @Override
        protected JSONObject doInBackground(String... args) {

            // TODO Auto-generated method stub
            // here Check for success tag
            try {
                HashMap<String, String> params = new HashMap<>();
                params.put("hp", args[0]);
                JSONObject json = jsonParser.makeHttpRequest(
                        LOGIN_URL, "POST", params);

                if (json != null) {
                    Log.d("JSON result", json.toString());

                    return json;
                }

            } catch (Exception e) {
                e.printStackTrace();
            }

            return null;
        }

最佳答案

您必须将一个对象传递到该方法中,然后将所需的值分配给该对象的属性

class DataObject {
    private String name;
    //getter & setter
    ...
}

还有:

protected void onPostExecute(JSONObject json, DataObject do) {
    ...
    do.name = json.getString("name");
    ...
}

关于java - 如何从 void 函数中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32472215/

相关文章:

coldfusion - 使用 cfscript 捕获自定义异常

java - try/catch/finally 的惊人输出?

java - JAXB 2.0 验证问题

java - 从集合中选择一个随机元素

java - 在编辑 jtable 单元格时如何检测按下的输入?

java - 通过身份验证将在线 pdf 内容传输到 BufferedInputStream

javascript - 如何防止用户在电子邮件输入字段中添加空格?

Android 基本编码尝试 Catch Show Toast 不起作用?

python - 尝试并在Python中对RuntimeError进行尝试,但未捕获到错误

java - 当初始化发生在 try/catch 中时,Eclipse 给出未初始化的编译时错误