如何在java中从这个try-catch函数返回值?

如何在java中从这个try-catch函数返回值?,java,class,return,Java,Class,Return,所以我有这门课 public static String ip (String url){ try { String webPagea = url; URL urla = new URL(webPagea); URLConnection urlConnectiona = urla.openConnection(); InputStream isa = urlConnectiona.getInputStream(); InputStreamReader

所以我有这门课

public static String ip (String url){

try {


    String webPagea = url;
    URL urla = new URL(webPagea);
    URLConnection urlConnectiona = urla.openConnection();
    InputStream isa = urlConnectiona.getInputStream();
    InputStreamReader isra = new InputStreamReader(isa);

    int numCharsReada;
    char[] charArraya = new char[1024];
    StringBuffer sba = new StringBuffer();
    while ((numCharsReada = isra.read(charArraya)) > 0) {
        sba.append(charArraya, 0, numCharsReada);
    }
    String resulta = sba.toString();
    return resulta;


} catch (Exception e)

{



}
    **(compile error)
       }
当从另一个类调用时,我希望上面的函数返回resulta字符串,如下所示:

private class t1 implements Runnable{
    public void run() {

   String getip= ip("http://google.com");
     }
但我得到编译错误,我没有在上面的两颗星的位置添加返回语句

一般来说,当我在如上所述的try-catch中定义字符串时,我无法在try/catch之外访问它。我做错了什么

例如:

  public void haha(String data)
{
    try {

   string test="test6";

  } catch (Exception e)

  }

 string vv=test;   <--test cannot be found


}
public void哈哈(字符串数据)
{
试一试{
字符串test=“test6”;
}捕获(例外e)
}

字符串vv=测试 字符串
resulta
的范围在
try
块的范围内。修改rcode,使字符串
resulta
try
块之外声明,如下所示:

public static String ip (String url){
String resulta = "";
try {
    String webPagea = url;
    URL urla = new URL(webPagea);
    URLConnection urlConnectiona = urla.openConnection();
    InputStream isa = urlConnectiona.getInputStream();
    InputStreamReader isra = new InputStreamReader(isa);

    int numCharsReada;
    char[] charArraya = new char[1024];
    StringBuffer sba = new StringBuffer();
    while ((numCharsReada = isra.read(charArraya)) > 0) {
        sba.append(charArraya, 0, numCharsReada);
    }
    resulta = sba.toString();
} catch (Exception e) {

}
    return resulta;
}

您的方法正在返回字符串。因此,尝试添加捕获:返回“您的错误…”