我需要创建一个tcp / ip通信程序,当我在按钮上添加动作时,它表示存在未处理的异常,但是我无法向按钮动作函数添加抛出IOExceptions。如何使它工作?
public void actionPerformed(ActionEvent e) {
try{
int port = Integer.parseInt(txtport.getText());
ServerSocket listener = new ServerSocket(port);
String message = txtsend.getText();
try {
while (true) {
Socket socket = listener.accept();
try {
PrintWriter out =
new PrintWriter(socket.getOutputStream(), true);
out.println(message); }
finally {
socket.close();
}}}
finally {
listener.close();
}}
catch(Exception e1){}
}
});
答案 0 :(得分:0)
您可以在函数体之前添加throws Exception
,但您应该直接在函数中声明catch
块。如果您不熟悉try-catch块和异常,请在此处阅读更多信息:http://docs.oracle.com/javase/tutorial/essential/exceptions/definition.html
答案 1 :(得分:0)
添加一个catch,向用户显示错误消息,然后退出循环。
catch(Exception e) {
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
break;
} finally {
socket.close();
}