Support custom errors

Added type `Exception` to catch errors with custom properties.
Wrote TryCatchException by watching other codes