Yes actually you handle exception from your stored procedure. So you are not getting that exception from .NET application. Yes you are correct. If your application need to know the exception then you can use raiseerror function.
Raise Error Details
You can also your throw statement.
tsql throw Example
declare @i int;
begin try
set @i = 'a';
end try
begin catch
print 'Error: ' + error_message();
throw;
end catch