你必须在嵌套最里面的存储过程中RAISERROR抛出错误,然后在外层才能得到,试试这样 BEGIN TRY END TRY BEGIN CATCH DECLARE @ErrMsg NVARCHAR(4000), @ErrSeverity INT SELECT @ErrMsg = Error_message(), @ErrSeverity = Error_severity() RAISERROR (@ErrMsg,@ErrSeverity,1) END CATCH