>
> CREATE PROCEDURE SP
> @param VARCHAR(50)
> AS BEGIN
> DELCARE @var INT
> -- try {
> SET @var = CONVERT( int, @param)
> -- } catch (error#245) {
> -- handle an error right here
> -- }
> END
>
In this situation you can use ISNUMERIC function.
In T-SQL there are not try..catch constructions and all errors you will get
on client

.
ALTER PROCEDURE SP
@param VARCHAR(50)
AS BEGIN
DECLARE @var INT
-- try {
if ISNUMERIC(@param) = 0
begin
RAISERROR('Error converting @param -> @var',16,10)
RETURN -1
end
SET @var = CONVERT( int, @param)
END
go
exec SP
@param = '1a'
go