finish self-defined exception