Como capturar exceções de tempo limite do SQLServer

Preciso capturar especificamente exceções de tempo limite do servidor SQL para que possam ser tratadas de maneira diferente. Eu sei que eu poderia pegar o SqlException e, em seguida, verifique se a seqüência de mensagens contém "Tempo limite", mas queria saber se existe uma maneira melhor de fazer isso?

try
{
    //some code
}
catch (SqlException ex)
{

    if (ex.Message.Contains("Timeout"))
    {
         //handle timeout
    }
    else
    {
         throw;
    }
}

questionAnswers(4)

yourAnswerToTheQuestion