Maxim Shafirov wrote:

>You are quite right! But is this a situation you've meant in your code?
>Isn't it extremely rare <code>try</code>ing a new statement in order to
>catch OutOfMemoryError, is it? If we implement these checkings in inspector
>it would lead one became useless as it would report a lot of possible error
>reports. So we do not take throwing possible RuntimeException's and Error's
>at least for now.
>
Sure, that's rare.  

But I wouldn't want the code inspector to tell me that "this can't 
happen" (reader can't be null) when in fact it *can* happen.  Possibly 
it could tell me that it "can't happen unless there is a 
RuntimeException or Error" or something, but I wouldn't want it to tell 
me to remove some code or condition that would in the end cause my 
program to crash with a NullPointerException instead of handling the 
error reasonably gracefully.  Maybe it's a server thread that crashes 
and the finally clause tried to release a connection to a database or 
close a file or whatever, and because the test has been removed (because 
IDEA wrongly claimed that it wasn't necessary) some things don't get 
close and eventually the entire server crashes due to lack of resources.

Are you sure it would make the inspector useless?  If you get a 
RuntimeException or Error and you haven't tried to catch it (which 
should be very rare) the exception should simply cause the method to 
return prematurely, in which case the code analysis for that method 
shouldn't be affected very much.  The main reason why taking 
RuntimeExceptions into account would seem to be that they can cause the 
program to jump abruptly to a finally clause, and the finally clause is 
probably there exactly because you want to do some cleanup in case one 
of those unexpected errors occur.  Of course you've analyzed this in 
much more detail than I have so if you say taking this into account 
would really make the inspector useless I'll take your word for it.



_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list

Reply via email to