COBCH1858 先行する TRY ブロックが EXIT ITERATOR を含んでいる - CATCH は許可されない

プログラムで、EXIT ITERATOR 文を含む反復子に TRY ブロックが含まれており、その同じ TRY ブロックにも CATCH が関連付けられています。このシナリオでは、関連付けられた CATCH は指定できず、使用できるのは FINALLY のみです。

解決方法:

コードを修正してから再コンパイルします。

例:

次の例では、最初の TRY ブロックは不適切で、2 番目の使用は適切です。

       class-id A.
       iterator-id MyIterator yielding ret as string.
           try
               set ret to "A"
               exit iterator
               set ret to "B"
               exit iterator
           catch                           *> Error
               display "Caught exception"
           end-try
           try
               set ret to "C"
               exit iterator
               set ret to "D"
               exit iterator
           finally                         *> ok
               display "In finally block"
           end-try
       end iterator.
       end class.