Romeo » 28 май 2008, 17:15
" писал(а):А что значит "бросить" исключение? Значит у меня в Linux деление на 0 не есть исключение?(
Деление на ноль в Windows является исключением и может быть отловлено в catch, в том время, как на юниксоидах, деление на ноль не является исключением, а является сигналом. Сигнал можно отловить другими средствами, но catch здесь уже не поможет. Самое правильное для случая "деление на ноль" - это перед делением проверять знаменатель на равенство нулю, как это отметил ранее
Хыиуду, и, в случае равенства, отдельно обрабатывать эту ситуация, не полагаясь на особенности операционной системы. В этом случае твой код будет работать одинаково и на Win, и на любой юниксоподобной OS.
[quote="""]А что значит "бросить" исключение? Значит у меня в Linux деление на 0 не есть исключение?([/quote]
Деление на ноль в Windows является исключением и может быть отловлено в catch, в том время, как на юниксоидах, деление на ноль не является исключением, а является сигналом. Сигнал можно отловить другими средствами, но catch здесь уже не поможет. Самое правильное для случая "деление на ноль" - это перед делением проверять знаменатель на равенство нулю, как это отметил ранее [b]Хыиуду[/b], и, в случае равенства, отдельно обрабатывать эту ситуация, не полагаясь на особенности операционной системы. В этом случае твой код будет работать одинаково и на Win, и на любой юниксоподобной OS.