throw. переводит выполнение в
секцию catcht. явного определения,
приведшего к исполнению этого кода. Если соответствующая
секция catcht. отсутствует, выходит в интерактивный режим.
|
main=: 3 : 0 try. sub y catcht. select. type_jthrow_ case. 'aaaa' do. 'throw aaaa' case. 'bbb' do. 'throw bbb' case. 'cc' do. 'throw cc' case. do. throw. NB. к catcht. следующего уровня (если есть) end. end. ) sub=: 3 : 0 if. y<0 do. type_jthrow_=: 'aaaa' throw. end. if. y<4 do. type_jthrow_=: 'bbb' throw. end. if. y<8 do. type_jthrow_=: 'cc' throw. end. (":y),' not thrown' ) main _4 throw aaaa main 1 throw bbb main 5 throw cc main 88 88 not thrownКак иллюстрирует этот пример, throw. может передать информацию в catcht. блок при помощи глобального имени в некотором пространстве имен.