Just received this feedback on an Oracle Magazine article:
I’ve just started using DBMS_UTILITY.FORMAT_ERROR_BACKTRACE and it’s a great utility when the code contains no comments, but unless I’m missing something it’s not terribly useful with regard to pinpointing the exact line number when the code contains comments.

Did you try it out? That's the best way to learn!But I am always looking for another reason to post on my blog and add to the LiveSQL repository. So that's what I am doing! :-)
The answer is quite straightforward:
Comments do not interfere with "pinpointing the exact line number" on which the error was raised.
But I bet you want proof, so let's get down to business.
I create a procedure with comments and a RAISE statement:
CREATE OR REPLACE PROCEDURE comments_throw_off_line#
IS
/*
Here's my header
Blah blah blah
*/
BEGIN
DBMS_OUTPUT.put_line ('wow!');
/*
And here's another comment because I really love
to fill my code with meaningless comments!
*/
RAISE PROGRAM_ERROR; /* This is line 14 */
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (DBMS_UTILITY.format_error_backtrace);
END;
I run the procedure and see this output:
BEGIN
comments_throw_off_line#;
END;
wow!
ORA-06512: at "COMMENTS_THROW_OFF_LINE#", line 14
So, there's your answer.
Next question? :-)
Comments
Post a Comment