8299475: Enhance SocketException by cause where it is missing in net and nio area
Reviewed-by: alanb
This commit is contained in:
parent
2ccdefc81c
commit
c929d8be5d
@ -299,7 +299,7 @@ public class ServerSocket implements java.io.Closeable {
|
||||
} catch (SocketException e) {
|
||||
throw e;
|
||||
} catch (IOException e) {
|
||||
throw new SocketException(e.getMessage());
|
||||
throw new SocketException(e.getMessage(), e);
|
||||
}
|
||||
created = true;
|
||||
}
|
||||
|
@ -531,8 +531,10 @@ public class Socket implements java.io.Closeable {
|
||||
try {
|
||||
impl.create(stream);
|
||||
created = true;
|
||||
} catch (SocketException e) {
|
||||
throw e;
|
||||
} catch (IOException e) {
|
||||
throw new SocketException(e.getMessage());
|
||||
throw new SocketException(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -363,7 +363,7 @@ class SocksSocketImpl extends DelegatingSocketImpl implements SocksConsts {
|
||||
try {
|
||||
privilegedConnect(server, serverPort, remainingMillis(deadlineMillis));
|
||||
} catch (IOException e) {
|
||||
throw new SocketException(e.getMessage());
|
||||
throw new SocketException(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -312,7 +312,8 @@ public final class NioSocketImpl extends SocketImpl implements PlatformSocketImp
|
||||
connectionReset = true;
|
||||
throw new SocketException("Connection reset");
|
||||
} catch (IOException ioe) {
|
||||
throw new SocketException(ioe.getMessage());
|
||||
// throw SocketException to maintain compatibility
|
||||
throw asSocketException(ioe);
|
||||
} finally {
|
||||
endRead(n > 0);
|
||||
}
|
||||
@ -410,7 +411,8 @@ public final class NioSocketImpl extends SocketImpl implements PlatformSocketImp
|
||||
} catch (InterruptedIOException e) {
|
||||
throw e;
|
||||
} catch (IOException ioe) {
|
||||
throw new SocketException(ioe.getMessage());
|
||||
// throw SocketException to maintain compatibility
|
||||
throw asSocketException(ioe);
|
||||
} finally {
|
||||
endWrite(n > 0);
|
||||
}
|
||||
@ -1084,7 +1086,7 @@ public final class NioSocketImpl extends SocketImpl implements PlatformSocketImp
|
||||
} catch (SocketException e) {
|
||||
throw e;
|
||||
} catch (IllegalArgumentException | IOException e) {
|
||||
throw new SocketException(e.getMessage());
|
||||
throw asSocketException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1136,7 +1138,7 @@ public final class NioSocketImpl extends SocketImpl implements PlatformSocketImp
|
||||
} catch (SocketException e) {
|
||||
throw e;
|
||||
} catch (IllegalArgumentException | IOException e) {
|
||||
throw new SocketException(e.getMessage());
|
||||
throw asSocketException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1249,6 +1251,19 @@ public final class NioSocketImpl extends SocketImpl implements PlatformSocketImp
|
||||
return remainingNanos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a SocketException from the given exception.
|
||||
*/
|
||||
private static SocketException asSocketException(Exception e) {
|
||||
if (e instanceof SocketException se) {
|
||||
return se;
|
||||
} else {
|
||||
var se = new SocketException(e.getMessage());
|
||||
se.setStackTrace(e.getStackTrace());
|
||||
return se;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the socket protocol family.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user