Custom exceptions (3/31)

Custom exceptions