12.07.2009, 13:26 | #1 |
Участник
|
BinData oбработка исключений / catch exception, AX 4
Добрый день,
Есть код: X++: BinData tmpBinData = new BinData(); str text; ; tmpBinData.setAsciiData(text); Error:Invalid character in ASCII string. All characters must be >= 0 and <= 255. Ошибку надо поймать, и вместо неё отобразить нужную для пользователя информацию. X++: try { tmpBinData.setAsciiData(text); } catch { throw error(""); } Второй параметр _codePage = 65001 к setAsciiData() не подходит, так как ошибка должна быть. Единственное что пока придумал, сделать так: X++: TextBuffer tb = new TextBuffer(); int i; int charIntValue; char char; ; tb.appendText(text); for(i=0; i< tb.size(); i++) { char = tb.subStr(i, 1); charIntValue = System.Convert::ToInt16(System.Convert::ToChar(char)); if(charIntValue < 0 || charIntValue > 255) throw error(""); } tmpBinData.setAsciiData(text): Вопрос такой, можно ли как то отловить это исключение, в момент его появления используя try/catch. Или может возможно решить эту проблему менее громоздким способом. |
|
Теги |
ax4.0, try/catch, исключения |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|