BUG Less misuse of error control operator (@)

This is necessary to prevent get_last_error() from returning suppressed errors when retrieving values from nested arrays.

I would not expect this would be the case, but it came up surprisingly while I was writing some error handling code.