This function silences all warnings, errors & messages and instead returns a list containing the results (if it didn't error) + the warning and error messages as character vectors.
Value
A list containing
results - The object returned by
expr
orlist()
if an error was thrownwarnings - NULL or a character vector if warnings were thrown
errors - NULL or a string if an error was thrown
messages - NULL or a character vector if messages were produced