a new exception system for utl

为每一种 utl 会抛出的异常一个固定的 ID, 使得确认异常发生地点时，不需要通过为每一个异常都声明一个类来区分而使用 typeid
，或是需通过比较 what() 的返回内容等，而是判断其 ID 值即可，仅限于 utl 实现中使用，不建议用户使用。
somepart of string_func