Чем он отличается от наших нынешних языков? Во многих случаях это семантика того, где переменная объявлена и где она впервые используется / ей присваивается значение. C# имеет возможность использовать Nullables. Я предполагаю, что был бы некоторый метод, чтобы бросить / поймать исключение, а не возвращать NULL Переместите логи c на обработку ошибок (как это обычно и бывает) вместо того, чтобы встроить проверку ошибок в функции.