- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我搜索了很多,但我找不到很好的答案。我使用 try_catch block 来处理这个异常(如果抛出这个异常,将向用户显示一帧,我会告诉他/她一个消息),但它仍然在控制台中显示异常。请帮助我。谢谢。
将抛出此异常的 submit() 方法:
private void submit() throws ConnectException {
String id = idField.getText();
char[] pass1 = passField.getPassword();
String pass = new String(pass1);
if (id.equals("") || pass.equals("")) {
JOptionPane.showMessageDialog(this, "You should enter an ID and password", "Sign_In Problem", JOptionPane.OK_OPTION);
return;
} else {
boolean b = Manager.Test(id, pass);
if (b == true) {
this.setVisible(false);
Main.runAClient();
ListFrame frame = new ListFrame(client);
frame.setVisible(true);
} else {
JOptionPane.showMessageDialog(this, "You have entered wrong datas,try it again", "Sign_In Problem", JOptionPane.OK_OPTION);
return;
}
}
}
我使用 netbeans,这是登录按钮的操作:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
submit();
} catch (ConnectException ex) {
JOptionPane.showMessageDialog(this, "You coudn't connect to the server successfully,try it again", "Sign_In Problem", JOptionPane.OK_OPTION);
}}
我的 runAClient 方法:
public static void runAClient()throws ConnectException{
try {
c = new Socket("localhost", 5000);
} catch (ConnectException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
堆栈跟踪:
init:
deps-jar:
compile-single:
run-single:
Jan 11, 2010 5:20:35 PM ClientNetWork.Main runAClient
SEVERE: null
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:518)
at java.net.Socket.connect(Socket.java:468)
at java.net.Socket.<init>(Socket.java:365)
at java.net.Socket.<init>(Socket.java:179)
at ClientNetWork.Main.runAClient(Main.java:29)
at ClientGUI.MainFrame.submit(MainFrame.java:335)
at ClientGUI.MainFrame.jButton1ActionPerformed(MainFrame.java:233)
at ClientGUI.MainFrame.access$400(MainFrame.java:34)
at ClientGUI.MainFrame$5.actionPerformed(MainFrame.java:122)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:191)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2926)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2918)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
at java.awt.Component.processEvent(Component.java:5815)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661)
at java.awt.Component.dispatchEventImpl(Component.java:4282)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
最佳答案
您在上一个问题中发布了代码:Sign in button has no visible effect in a Java application
根据 runAClient
方法判断,您正在记录异常并将其吃掉(而不是进一步抛出)。
public static void runAClient() {
try {
c = new Socket("localhost", 5000);
} catch (UnknownHostException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
第二个捕获 (IOException
) 不应该记录并且应该抛出异常。实际上,您可能希望将该捕获拆分为一个您将抛出的 ConnectException 捕获和一个您可以单独处理的 IOException 捕获。
编辑:我会稍微扩展一下。 ConnectException
延伸RemoteException
它又扩展了 IOException
,您正在捕获它并将其记录到您的 runAClient
方法中。你可以做两件事:
IOException
,并在上层捕获它(在我看来这是一个非常丑陋的解决方案)或
IOException
block 拆分为两个 catch block ,一个用于 ConnectException
,您刚刚在其中抛出,另一个用于其余的 IOException
,您可以记录(或以不同方式处理)- 只需确保 ConnectException
block 在 IOException
block 关于java - 我们如何处理 ConnectException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2042247/
我搜索了很多,但我找不到很好的答案。我使用 try_catch block 来处理这个异常(如果抛出这个异常,将向用户显示一帧,我会告诉他/她一个消息),但它仍然在控制台中显示异常。请帮助我。谢谢。
我不明白这一点...我正在 try catch java.net.ConnectException,以防我的下游 API 处于离线状态。但是 Eclipse 警告我它无法访问 - 暗示代码不能抛出 C
这个问题在这里已经有了答案: Java RMI : connection refused (2 个答案) 关闭 5 年前。 当我尝试访问服务器 lonrs07471 (linux) 上的应用程序时出
我使用下面的 Java 代码来发送电子邮件。 import java.util.*; import javax.mail.*; import javax.mail.internet.*; import
所以简而言之,我只是想得到一个小的工作骨架程序,我可以用它来了解 Http 通信并“感觉”我的方式来弄清楚我最终需要什么来构建一个更大的程序我正在努力。此处的这段特定代码实际上只是 Apache 库示
所以我有一个通过Socket与服务器通信的android应用程序。昨天在某个时候工作。晚上,我想做更多的工作,但是它根本引发了异常,而我根本没有修改代码。 重建项目2次后,我测试了一个应用程序的连接,
我尝试通过REST发送请求。 使用firefox rest-client时,我得到成功响应, 但是在SoapUI中,我在下面附加了异常。 如何解决这个问题? 谢谢。 java.net.ConnectE
如果远程参与者因断电而无法使用,监督策略可以处理这种情况吗? 我已经对示例进行了编码,并且已经关闭了远程参与者系统,但似乎监督策略仅考虑远程参与者在到达后抛出的异常。 由于我不是 Akka 专家,我想
我正在尝试使用以下脚本将一些本地文件复制到HDFS: bin/hadoop fs -copyFromLocal '/home/czy/IdeaProjects/HadoopInAction/First
我有以下代码片段: private static String post(String msg) throws Exception { URL urlObj = new URL(host);
我正在将 NetBeans 与 Java 结合使用。我正在尝试从需要日志记录的网站中提取数据,我进入一个帐户提取数据,然后进入另一个帐户,我的代码正在工作,但总是在一段时间后得到: java.net.
我创建了一个简单的 java RMI 程序来理解它是如何工作的。但是当我尝试运行我的服务器端时,它引发了以下异常。 编辑:我们正在使用代理连接... Remote exception: java.r
我正在开发一个使用套接字的 Android 应用程序。我有一个名为 initializeStreams() 的函数,它打开套接字并尝试连接。如果无法建立连接,此函数将抛出 ConnectExcepti
我有一个像这样定义的kafka制作人 public KafkaMessageProducer(String kafkaHost, String kafkaPort, Map map) {
我有 2 个虚拟机(Ubuntu),第一个作为主机,第二个作为从机,当我在远程机器上运行测试时,我得到以下信息: rconfigure() 方法 java.rmi.ConnectException 中
我想使用 Groovy 脚本访问网页。但是我支持代理。 这是一个失败的测试脚本...... println "Google page is..." println 'http://www.google
我有一个从eclipse运行的android模拟器,只是试图连接到我在.NET(C#)中编写的简单套接字服务器。 服务器在端口4505的同一台计算机上运行。我能够通过PuTTy telnet到服务器,
我正在使用用于Apache-spark的scala API编写一个简单的独立程序。我需要从HDFS访问文件。来自shell的简单命令(例如hadoop fs -ls)可以正常工作。但是,当我尝试从程序
连接被拒绝,因为服务器未按预期处理连接。我希望服务器使用线程或池,以便它可以处理多个客户端。如果客户端断开连接,就像这里发生的那样,这不会对服务器产生影响,也不会阻止其他客户端连接。 将此功能添加到服
我正在尝试实现 TCP 连接,从服务器端一切正常,但当我运行客户端程序(从客户端计算机)时,出现以下错误: java.net.ConnectException: Connection refused
我是一名优秀的程序员,十分优秀!