Support custom errors

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