Try to stay fit in Purebasic. In the work I mostly only with SPS programming or VB script to do.
It rarely happens that I write with Purebasic for industrial applications or services programs.
All Try-Catch workarounds via macros and the PB-OnErrorLib should be viewed only for the fun of programming and should not be used in productive use because they are not safe to use:
The program stack will not be adjusted before jumping to the label, so local variables should not be accessed as they may not be reachable anymore. It is also not safe to continue normal program execution after an error as things like the return address of a procedure may be wrong if the stack is no longer correct. The best practice is just to gather and display information about the error and then exit the program.
I think the best way we can go currently is to manipulate the asm output from pb before fasm gets it. It's the way the forum member Rings went, if I'm not mistaken.