da tutti i vari tutorial che ho potuto leggere è necessario provare ad istanziare due oggetti poichè questi sono differenti in base alla versione di Explorer

il costrutto try catch serve proprio per provare ad istanziare un primo oggetto: se questo non c'è viene creata un'eccezione controllata da catch e quindi si prova ad istanziare un secondo oggetto.

Nota che al di fuori dell'if sarebbe opportuno controllare comunque se la variabile XMLHttpReqObj è diversa da null e, in caso contrario, redirigere lo script in modo da gestire la mancanza dell'oggetto.