В приведенном ниже примере кода я делю на ноль, который, когда я перешагиваю его с помощью отладчика, (divend/divisor) дает бесконечность или NaN (если делитель равен нулю). Когда я произнес этот результат до конца, я получаю действительный результат, обычно что-то вроде -9223372036854775808. Почему это действие действует? Почему он не останавливает выполнение (например, исключает исключение), а не назначает произвольное значение?
double divisor = 0;
double dividend = 7;
long result = (long)(dividend / divisor);