dont throw CException, throw Exception