SQL Server Stored Procedure - Does Raiserror affect performance
I would not worry about performance in this situation.
I would go with raising an error for 2 reasons:


You quit earlier (when you find out user does not exist), and make a clear message.
IMHO raising an error is more readable and makes your code clearer.