0
我想學習使用本手冊的Java網絡 - http://duta.github.io/writing/StartingNetworking.pdfJava異常必須被捕獲或者聲明拋出
爲什麼我得到「必須捕獲或聲明拋出」在這一行(它的ServerSocket手冊的一部分)。爲什麼手冊中的代碼被認爲是可行的,但我的不是?
Socket socket = serverSocket.accept();
完整代碼:
public class ChatServer
{
public static void main(){
ServerSocket serverSocket = null;
boolean successful = false;
int port = 8080;
try{
serverSocket = new ServerSocket(port);
successful = true;
}catch(IOException e){
System.err.println("Port " + port + "is busy, try a different one");
}
if(successful){
Socket socket = serverSocket.accept();
PrintWriter toClient = new PrintWriter(socket.getOutputStream(), true);
BufferedReader fromClient = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String toProcess;
while((toProcess = fromClient.readLine()) != null)
{
if(toProcess.equalsIgnoreCase("Stop"))
break;
String processed = "Echo: " + toProcess;
toClient.println(processed);
}
toClient.close();
fromClient.close();
socket.close();
serverSocket.close();
}
}
}
查看本教程中'main()'的定義。你會注意到你的代碼中缺少了'throws Exception'。順便說一句,如果您在處理異常或理解它們時遇到問題,那麼從客戶端服務器應用程序開始可能會略過幾步,也就是說您可能需要先開始學習基本知識。 – Thomas