Bom dia Juanmuscaria.
Não entendi o que você quis dizer com "para o script inteiro".
Tipo, se der um erro de execução (e não de código) e o script terminar abruptamente você quer que um erro customizado apareça?
Se for isso, você deve entender que é o windows quem lida com o gerenciamento dos processos, e quando um processo simplesmente para de responder e o windows pergunta se você quer esperar ele responder ou terminá-lo, qualquer código daquele script provavelmente não será mais executado a não ser que o processo volte a responder. Portanto, é inviável que um código de dentro do script gerencie mensagens nesses casos.
No entanto, é possível criar um segundo script (um segundo processo, que seja executado simultaneamente) que verifique continuamente os processos atuais e exiba uma mensagem se perceber que um processo do autohotkey foi terminado abruptamente nos últimos X segundos. Essa solução pode funcionar, mas costuma ser um pouco bagunçada e dar um pouco de trabalho para implementar (você teria que usar uma rotina settimer com verificação através do comando process e ainda teria que fazer uma espécie de comunicação entre os scripts para garantir que o script de verificação soubesse discernir quando foi o usuário que terminou, por exemplo).
Ou você quer uma única mensagem padrão sempre que o script terminar por erro de código?
Nesse caso seria um try & catch mesmo ou então condicionais de verificação com msgboxes. No caso do try & catch tem uma função que permite até mesmo
alterar as mensagens de erro de código que aparecem quando uma linha do script gera um problema. Não é algo que está muito claro na documentação, mas o usuário Nnnik fez um tutorial bacana sobre como fazer. Você pode encontrá-lo
aqui. O tutorial está em inglês, mas se precisar de alguma ajuda, pode postar aqui (só não explico muito a fundo agora porque ainda não tenho certeza se é isso que você quer).