[2] add try catch block