텍스트 필드와 버튼이있는 작은 GUI 응용 프로그램이 있습니다. 이 버튼은 텍스트 필드에서 숫자를 읽는 기능을 트리거합니다. 텍스트 필드가 비어 있거나 숫자가 아닌 텍스트가 있으면 예외가 발생합니다.빨간색 언어로 예외를 시도/캐치
텍스트 필드에 값이 있거나 유효한 숫자가 아닌 텍스트 값이없는 경우 나 오류를 잡으려고 노력하고 있어요 :
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"]
I try, throw 및 catch를 사용하는 방법을 잘 모릅니다. 나는 http://static.red-lang.org/red-system-specs.html의 섹션 10을 확인하려했지만 실제로 이해할 수 없었다.
어떻게 해결할 수 있습니까? 당신의 도움을 주셔서 감사합니다.
성공적인 부분 ('integer? value ...')이 필요하지 않으면'case' 대신'if'를 사용할 수 있습니까? – rnso
@rnso 네. 'case '는 super -if와 같습니다. '오류가 있습니까? foo : try [정수로! "Foo"] [... 여기에 오류 처리기 ...]' – rgchris