So I’ve got a thing like this:
try{ServerSocket acceptor = new ServerSocket(4782);}
catch(IOException e){System.err.println("ERROR: Couldn't listen on port 4782!");}
while (true)
{
Socket clientSock = acceptor.accept();
}
But when trying to assign clientSock, it says it can’t find acceptor. When moving the acceptor out of the try block, it explodes with an unhandled exception.
Should I be putting a thing like Socket clientSock; before the try block?
Thanks.
An alternative to what the other folks here have suggested: you could move more code into the try block:
The advantage of doing things this way — when you can get away with it — is that the “happy path” reads more clearly; it’s easier to follow what the code is supposed to do. The dark side of this approach is that it leads to lumping various error conditions together, so you can’t react as specifically to individual problems. Sometimes, though, even that is an advantage rather than a problem.