Could you add some more comment about the logic in try block? I think it should be explained more clearly. Thanx.