I never did any serious Java coding before, but I learned the syntax, libraries, and concepts based on my existing skills (Delphi & C#). One thing I hardly understand i
I find there are often 2 reasons this is done
I do not believe this is a phenomenon limited to Java. I've seen such coding often in C# and VB.Net as well.
On the surface it's quite shocking and looks terrible. But really it's nothing new. It occurs all the time in C++ applications which use error code return values vs. exceptions. The difference though is that ignoring a potentially fatal return value doesn't really look any different than calling a function that returns void.
Foo* pFoo = ...;
pFoo->SomeMethod(); // Void or swallowing errors, who knows?
This code looks better but if SomeMethod() were to say return an HResult, it would be semantically no different than swallowing an exception.