RaiseError on SQL Server stored procedures
If you want to raise error and exit from the procedure, you may want to try return. Example below.

alter PROCEDURE sp1
@PersonID int
as
begin
   IF (@PersonId is null)  --you can check 0, if that is the intention
   begin
       RAISERROR(N'Error already raised. See previous errors.', 16, 1);
       return;
   end;
   print '@PersonId is not null';  --Condition when error is not raised
end;