show errors will give syntax errors if procedure didn't compile successfully.

If you get wrong results, you can help yourself by putting some
"dbms_output.put_line" in the code to see what/how it executes.

Or if you want more, check dbms_debug.