从按钮动作功能中抛出异常

时间:2013-05-08 12:15:54

标签: button action

我需要创建一个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){}
}
});

2 个答案:

答案 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();
}