SQLCA doesn't contain line number. It wouldn't make much sense if the SP changes once in a while and the line numbers would change. Instead, you could use some probe mechanism:
Code:
DECLARE probe INT DEFAULT 0;
...
SET probe = 1;
...do something that may throw an exception...
SET probe = 28;
...do something that may throw an exception...
Then your condition handler can check the value in the "probe" variable and return that in a message text or something. That would be much more stable.