message: Print out exceptions occuring in WASM code.
diff: @@ -392,6 +392,7 @@ void Wavm::makeModule(absl::string_view name) {
  }
  void Wavm::start(Context* context) {
  + try {
  auto f = getStartFunction(moduleInstance_);
  if (f) {
  CALL_WITH_CONTEXT(invokeFunctionChecked(context_, f, {}), context);
  @@ -413,6 +414,10 @@ void Wavm::start(Context* context) {
  if (f) {
  CALL_WITH_CONTEXT(invokeFunctionChecked(context_, f, {}), context);
  }
  + } catch (const std::exception& e) {
  + std::cerr << "Caught exception \"" << e.what() << "\" in WASM\n";
  + throw;
  + }
  }
  absl::string_view Wavm::getMemory(uint32_t pointer, uint32_t size) {
  @@ -580,8 +585,13 @@ void getFunctionWavmReturn(WasmVm* vm, absl::string_view functionName,
  }
  *function = [wavm, f](Context* context, Args... args) -> R {
  UntaggedValue values[] = {args...};
  + try {
  CALL_WITH_CONTEXT_RETURN(invokeFunctionUnchecked(wavm->context_, f, &values[0]), context,
  uint32_t, i32);
  + } catch (const std::exception& e) {
  + std::cerr << "Caught exception \"" << e.what() << "\" in WASM\n";
  + throw;
  + }
  };
  }
  @@ -603,7 +613,12 @@ void getFunctionWavmReturn(WasmVm* vm, absl::string_view functionName,
  }
  *function = [wavm, f](Context* context, Args... args) -> R {
  UntaggedValue values[] = {args...};
  + try {
  CALL_WITH_CONTEXT(invokeFunctionUnchecked(wavm->context_, f, &values[0]), context);
  + } catch (const std::exception& e) {
  + std::cerr << "Caught exception \"" << e.what() << "\" in WASM\n";
  + throw;
  + }
  };
  }
  