diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/ResponseWriter.java b/jetty-server/src/main/java/org/eclipse/jetty/server/ResponseWriter.java index f2c6352e623..094f98f1cbc 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/ResponseWriter.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/ResponseWriter.java @@ -128,10 +128,13 @@ public class ResponseWriter extends PrintWriter private void isOpen() throws IOException { if (_ioException != null) - throw new RuntimeIOException(_ioException); + throw _ioException; if (_isClosed) - throw new EofException("Stream closed"); + { + _ioException = new EofException("Stream closed"); + throw _ioException; + } } @Override diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java index ac4bee7c9bc..e115fceeca6 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java @@ -54,7 +54,6 @@ import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.http.MetaData; import org.eclipse.jetty.io.AbstractEndPoint; import org.eclipse.jetty.io.ByteArrayEndPoint; -import org.eclipse.jetty.io.RuntimeIOException; import org.eclipse.jetty.server.handler.AbstractHandler; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.ErrorHandler; @@ -711,7 +710,7 @@ public class ResponseTest } @Test - public void testWriteRuntimeIOException() throws Exception + public void testWriteCheckError() throws Exception { Response response = getResponse(); @@ -725,8 +724,8 @@ public class ResponseTest writer.println("test"); assertTrue(writer.checkError()); - RuntimeIOException e = assertThrows(RuntimeIOException.class, () -> writer.println("test")); - assertEquals(cause, e.getCause()); + writer.println("test"); // this should not cause an Exception + assertTrue(writer.checkError()); } @Test