handle module evaluation errors in the runtime correctly (#4476)
### Description
Caches the module evaluation error
```
try {
// when throwing on the first try
require("module")
} catch {
// it should throw on the second try too
require("module")
}
```