change exception handle way(TBD)