我有一种方法可以将数据从一个套接字传输到另一个套接字。现在,无论何时在任何套接字上都存在问题,我都需要检测哪个套接字导致了Socket异常。这是否可以从Socket Exception对象中检测到它?
答案 0 :(得分:2)
不是来自异常本身,但您可以从上下文中获取。如果代码只操作一个套接字,那么显然异常必须与该套接字有关。
听起来你没有在适当的级别处理异常,而是在程序的高级部分处理(捕获)低级别异常,并期望能够在那时进行低级别处理。 / p>
考虑在中间级别捕获异常,部分处理它,然后重新抛出它。您可能希望在那时进行异常转换(链接)。
答案 1 :(得分:1)
您无法从异常中获取它,因为没有保存套接字的属性。
答案 2 :(得分:-1)
简单的答案是“不”。由于Java中的异常是为了通知意外行为,因此不会使它们存储对该对象的任何错误引用。您可以在此异常类或其任何超类中看到。他们都不能控制任何对象。