(feat) add eval error handler