Gostaria de escrever uma função de erro personalizada em R que usa uma formatação mais consistente de mensagens de erro. No R base, os erros são formatados de uma forma que coloca mensagens de erro em uma nova linha se ela exceder a largura do console e a recua em dois espaços:
abort <- function(msg) stop(msg)
> abort("This is a very very very very long error message")
# Error in abort("This is a very very very very long error message") :
# This is a very very very very long error message
Se não exceder a largura do console, será colocado diretamente atrás da chamada:
> abort("Short message")
# Error in abort("Short message") : Short message
Na minha função de erro personalizada, pretendo manter a formatação mais consistente sempre iniciando as mensagens de erro em uma nova linha (semelhante ao cli
formato de erro do pacote):
abort <- function(msg) stop("\n", msg)
Entretanto, ao usar esta função com uma mensagem de erro muito longa (ou uma chamada longa), a formatação de erro base do R adiciona uma nova linha e, portanto, espaços em branco indesejados à saída do erro.
> abort("This is a very very very very very very very very long error message")
# Error in abort("This is a very very very very very very very very long error message") :
#
# This is a very very very very very very very very long error message
Existe alguma maneira de controlar esse comportamento, suprimindo-o ou descobrindo quando ele ocorre para contorná-lo manualmente?