У меня есть небольшое приложение с графическим интерфейсом пользователя с текстовым полем и кнопкой. Кнопка запускает функцию, которая пытается прочитать число из текстового поля. Исключение возникает, если текстовое поле пустое или содержит нечисловой текст.
Я пытаюсь отловить ошибку, если текстовое поле не имеет значения или имеет текстовое значение, а не действительное число:
calc: does [
try [x: to integer! num_field/text]
catch [ print "Could not get number"]
print "Number read"
]
Следующее также не работает:
calc: does [
try [x: to integer! num_field/text]
throw 123
print "Number read"
]
catch 123 [ print "Could not get number"]
Я не уверен, как использовать здесь «попробуй, брось и поймай». Я попытался проверить раздел 10 http://static.red-lang.org/red-system-specs.html, но ничего не понял.
Как это решить? Спасибо за вашу помощь.