Skip to content

wasm32: Raise call into except block stop program (with the native exception mode WASMEXCEPTIONS)

Summary

Raise call into except block stop program (with the native exception mode WASMEXCEPTIONS)

System Information

  • Operating system: Linux Ubuntu
  • Processor architecture: x86-64
  • Compiler version: Free Pascal Compiler version 3.3.1-11248-g59f29371 [2022/05/29] for wasm32
  • Device: Computer

Steps to reproduce

Compile the example project for wasm32-wasi target.

Example Project

program test;

{$mode delphi}
{$targetswitch WASMEXCEPTIONS}

uses
  sysutils;

begin

  try
    try
      raise Exception.Create('test');
    except
      writeln('Exception raised');
      raise;
    end;
  except
    writeln('Exception reraised');
  end;

  writeln('program ended');

end. 

What is the current bug behavior?

The program show only

Exception raised

What is the expected (correct) behavior?

The program must show:

Exception raised
Exception reraised
program ended
Edited by Renaud G.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information