a40db0e6a0
Previously, I had thought we would ask MetaMu compilers to map their own exception/error types to ours. That causes some complexity, however, in that the exception types in each language (if they even exist) are "different". So we would need to wrap things, etc., which seems cumbersome. Partly I had done this after having been burned on the CLR by permitting throws of any types; e.g., C++/CLI could throw integers, which would rip through C# code unknowingly, because all C# throws had to derive from the Exception base class. This actually caused some security issues! But, we're in a different place, and a different time. The first three languages I envision supporting -- ECMAScript, Python, and Ruby -- each permit you to throw anything. And the only other languages I am seriously contemplating right now -- Go -- doesn't even have exceptions. So this change backs off and is less opinionated about what is thrown. Instead, we track stack traces, etc., in the unwind information, and happily propagate whatever object is thrown. |
||
---|---|---|
.. | ||
predef | ||
convert.go | ||
convert_test.go | ||
primitives.go |