по второму вопросу, насколько помню в КДС есть библиотека ошибок, там вроде должна быть функция или я её сам делал, смысл как раз в том и заключается, на вход подать цифровое значение в ответ получить текстовое определение ошибки