There’s much to update in Chapter 12, “Error Handling”. I thought this would be an easy chapter.
Since v5.10, Fatal is different and now called autodie. I mostly had to change the module names. The biggest change was removing the non-void non-handling of builtins that Fatal could do. If Fatal saw I checked the return value of a builtin myself, it doesn’t throw the exception for me. I excised that paragraph.
In v5.14 the behavior of $@
changes quite a bit. An eval
inside a destructor won’t mess up $@
as the scope is cleaning up.
I’m covering Try::Tiny and TryCatch. I’m still working on those sections.
Do you have anything else I should include or update? See what I have so far by reading it through Atlas.