От Dmytry Ginzburg (2:461/48.125) к alexander koryagin
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
ak> From: "alexander koryagin" <koryagin@erec.ru>
ak> Hello, All!
ak> Hе может ли All объяснить, что происходит с exception деления на ноль?
ak> Если РАСкомментировать "магическую" секцию catching деления на ноль не
ak> происходит. В этом случае k_razb показывается как INF. Hо мне
ak> нужно именно ловить в catch.
ak> class TForm1 : public TForm
ak> {
ak> __published: // IDE-managed Components
ak> TADOConnection *ADOConnection1;
ak> TADOQuery *Qver;
ak> TADOQuery *Q1;
ak> private: // User declarations
ak> public: // User declarations
ak> __fastcall TForm1(TComponent* Owner);
ak> };
ak> сам модуль формы:
ak> =========Beginning of the citation==============
ak> #include <vcl.h>
ak> #pragma hdrstop
ak> #include "zero_del_f.h"
ak> //--------------
ak> #pragma package(smart_init)
ak> #pragma resource "*.dfm"
ak> TForm1 *Form1;
ak> //--------------
ak> __fastcall TForm1::TForm1(TComponent* Owner)
ak> : TForm(Owner)
ak> {
ak> int er=0,kol_lines; Variant x; AnsiString astr;
ak> //это обычный не пустой запрос (через ADO копмпоненты)
ak> try
ak> {
ak> Q1->Active = true;
ak> kol_lines = Q1->RecordCount;
ak> }
ak> catch(Exception& er)
ak> { /* */ }
ak> //--------------------
ak> //магическая секция для установки exception
ak> /* try //этот запрос ПУСТОЙ!
ak> {
ak> Qver->Active = true;
ak> x = Qver->FieldValues["Name"];
ak> astr = x; //магическая строка
ak> }
ak> catch(Exception& er)
ak> { ShowMessage("это пустой запрос"); } */
ak> //--------------------
ak> double Q1c,Q2c,k_razb,rea; unsigned int err=0;
ak> try
ak> {
ak> Q1c = 0.0;
ak> Q2c = 1.0;
ak> k_razb = ((Q1c - Q2c)/Q1c)*100.0;
ak> }
ak> catch (Exception& E)
ak> { er = 1; }
ak> if(er) { ShowMessage("catching OK"); return; }
ak> ShowMessage("catching failed");
ak> }
ak> //--------------
ak> =========The end of the citation================
--- Вот такой вот наглый Дед со стажем в 3.0.1-asa9 SR1 лет!
* Origin: Default ORIGIN (FidoNet 2:461/48.125)
Ответы на это письмо: