DECLARE @SomeDate CHAR(8) = '0'
SELECT
ISDATE(@SomeDate),
CAST(NULLIF(@SomeDate,'0') AS DATE)
-- similar to this handy trick:
DECLARE @numerator INT = 1, @denominator INT = 0
SELECT @numerator/@denominator
--Msg 8134, Level 16, State 1, Line 3
--Divide by zero error encountered.
SELECT @numerator/NULLIF(@denominator,0)
-- returns NULL, no error