add 异常框架