Разница между ними заключается в том, что в первом примере вы поймали исключение и напечатали трассировку стека исключений.После печати ваша программа продолжит работу в обычном режиме (в данном случае: выход).
Во втором примере вы не поймаете исключение, текущий запущенный поток (основной поток) внезапно завершается (что в вашем коде).также завершает программу), и обработчик необработанных исключений потока выводит исключение с префиксом с текстом 'Исключение в потоке "main"' .