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
