Работает.
## Код:
```
MODULE PrivTry;
   
   IMPORT
      omcRobust,
      Log;
      
   TYPE   
      Action* = ABSTRACT RECORD END;
      
      TestAction = RECORD (Action) END;
      
   VAR t: omcRobust.Trial;
   
   PROCEDURE (VAR a: Action) Try-, NEW, ABSTRACT;
   PROCEDURE (VAR a: Action) Except-, NEW, EMPTY;
   PROCEDURE (VAR a: Action) Finally-, NEW, EMPTY;
   
   PROCEDURE Try (VAR a, b: ANYREC; IN c: ANYREC);
   BEGIN
      WITH a: Action DO a.Try
      ELSE HALT(100) END;
   END Try;
      
   PROCEDURE Do* (VAR a: Action);   
   BEGIN
      t.Try(a, omcRobust.dummy, omcRobust.dummy);
      IF t.ok THEN
         a.Finally
      ELSE
         a.Except
      END;
   END Do;
   
   PROCEDURE (VAR a: TestAction) Try;
   BEGIN
      HALT(128); (* no trap win :) *)
   END Try;
   
   PROCEDURE (VAR a: TestAction) Except;
   BEGIN
      Log.String('except'); Log.Ln;
   END Except;
   
   PROCEDURE Test*;
      VAR a: TestAction;
   BEGIN
      Log.String('before'); Log.Ln;
      Do(a);
      Log.String('after'); Log.Ln;
   END Test;

BEGIN
   t.proc:=Try;   
END PrivTry.

PrivTry.Test
```
