Ну потому что налл - бич джава разраба. Большинство потенциальных ошибок ловит компилятор и красит красным, повзоляя писать рабочий код даже полупокерам. Поэтому типовая ошибка при запуске джава прилаги - прилетающий откуда то налл, ведь ее компилятор искать не умеет, а проверку на налл так лениво делать и ваще. Вцелом нал надо кидать когда там по логике и есть отсутствующий объект. Если же произошло непредвиденное - тут надо кидать эксепшн