如何在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;
}
您的方法正在返回字符串。因此,尝试添加捕获:返回“您的错误…”