use try,catch do dispatch