使用自定义的exception