[MC] add set exception
[MC] refactor
[MC] refactor