执行存储过程无法获得用户定义异常信息

执行存储过程无法获得用户定义错误信息
调用sqlserver的存储过程,执行不成功时没法获取到自定义错误信息@cErrMsg,pb版本12.5 
存储过程如下:
CREATE PROCEDURE [dbo].[P_test]
(
  @cPath NVARCHAR(4000) ,
  @cErrMsg  NVARCHAR(1000) output
)
AS 
......
  IF ( SELECT fSize FROM #SIZE WHERE cDriver = LEFT (@cPath, 1) ) <= @fDBSize
    BEGIN
      SET @cErrMsg = N'指定的路径剩余磁盘空间太少,请选择其他路径或清理磁盘空间!'
      RAISERROR(@cErrMsg, 16, 1) WITH NOWAIT
      RETURN -1
    END

pb中调用如下
DECLARE P_test procedure for P_test
  @cPath = :gs_Path,
  @cErrMsg = :ls_return OUTPUT
  USING SQLCA;

EXECUTE P_test;
Fetch   P_test   INTO   :ls_return; 
mle_1.text=ls_return

------解决方案--------------------
raiseerror的东东,你在调用完后可以通过sqlca.sqlerrtext就可以得到错误信息的