C++ zpravování výjimek problém

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
johnybest
Začátečník
Začátečník
Registrován: 19. led 2006
Bydliště: Olomoucký kraj
Kontaktovat uživatele:

C++ zpravování výjimek problém

Příspěvek od johnybest »

Nevim proc ale kdyz zkousim do useku programu pridavat try () throw () a catch () treba pro osetreni pripadu kdy se bude delit nulou tak mi to nikdy nefunguje a to ani u samplu kde by to podle vseho fungovat melo. Zkompilovanej program proste spadne nebo je automaticky ukoncen kdyz dojde k deleni nulou v danym useku try.

Kód: Vybrat vše

#include <iostream>
using std::cout;
int main()
{
	int a=10,b=0;
	try
	{
		cout << "a deleno b je: " << a/b;
	}
	catch (...)
	{
		cout << "Neco se nepodarilo";
	}
	return 0;
}
CPU: Phenom X4 9550@2470MHz MB: Gigabyte GA-MA78G-DS3H RAM: 2x 2GB A-Data 900MHz GPU: Sapphire Radeon HD4850 512mb Vapor-X DDR3 750/2200 HDD: 160 GB Maxtor + 640 GB Samsung F1 DVD-ROM: LG H10N TV tuner: Jetway JW-TV878MF Repro: Genius SP-HF 2.0 Power: Seasonic S12 430W Mouse: Logitech MX518 Gamepad: Logitech WingMan Rumblepad II, Logitech Chillstream Keyboard: A4Tech KX-5MU OS: Windows 7 x64 Ultimate + Ubuntu 10.04
Maranov
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 21. črc 2006

Re: C++ zpravování výjimek problém

Příspěvek od Maranov »

I při normálním spuštění? Je možné, že ti výjimky schválně odchytává IDE.
Jinak zkontroluj třídu, odchycené výjimky. (v catch()).
Jsem spíše C#ař, takže můžu mlít nepřesnosti...
DESKTOP: C2D E8200 (pasivně); ATI HD 3870 (AC S1, 120 fan@5V); 4GB RAM; OCZ Vertex2 SSD 64GB; 320+320+250GB JBOD (odhlučněno); 2x FSC P19-2 (2056x1024)
MOBILE: Lenovo Thinkpad T420 4177 CTR, Crucial M4 SSD 128GB, 6GB RAM; FSC P19-2; Logitech G400
POCKET: Nokia Hulmia 800; Hitachi 500GB@Scythe Kamazo 2 (eSATA); Creative EP-630
AUDIO: Sennheiser HD 555 (foam mod), NuForce Icon µDAC, FLAC, ReplayGain, f2k

"A Man's mortality is a compass that points his way in life."
johnybest
Začátečník
Začátečník
Registrován: 19. led 2006
Bydliště: Olomoucký kraj
Kontaktovat uživatele:

Re: C++ zpravování výjimek problém

Příspěvek od johnybest »

No jeste se na to podivam ale vim ze mi to dela i ve windows i v linuxech kde pouzivam jiny IDE
CPU: Phenom X4 9550@2470MHz MB: Gigabyte GA-MA78G-DS3H RAM: 2x 2GB A-Data 900MHz GPU: Sapphire Radeon HD4850 512mb Vapor-X DDR3 750/2200 HDD: 160 GB Maxtor + 640 GB Samsung F1 DVD-ROM: LG H10N TV tuner: Jetway JW-TV878MF Repro: Genius SP-HF 2.0 Power: Seasonic S12 430W Mouse: Logitech MX518 Gamepad: Logitech WingMan Rumblepad II, Logitech Chillstream Keyboard: A4Tech KX-5MU OS: Windows 7 x64 Ultimate + Ubuntu 10.04
Ondrej1
Začátečník
Začátečník
Registrován: 16. led 2007

Re: C++ zpravování výjimek problém

Příspěvek od Ondrej1 »

Co je to za kompilátor? To je dost podstatné.

Při programování ve windows v C++ existují dva typy výjimek, c++ výjimky a SEH, dělení nulou je výjimka SEH, nikoli C++ Ve starších kompilátorech (VS6) konstrukce catch(...) chytala obojí druh výjimek, za což byly (kompilátory) podrobeny kritice. V novějších kompilátorech (VS2008) chytá catch(...) pouze c++ výjimky, k obsluze dělení nulou apod je potřeba použít SEH, viz předchozí odkaz.
johnybest
Začátečník
Začátečník
Registrován: 19. led 2006
Bydliště: Olomoucký kraj
Kontaktovat uživatele:

Re: C++ zpravování výjimek problém

Příspěvek od johnybest »

jj díky moc mrknu na to
CPU: Phenom X4 9550@2470MHz MB: Gigabyte GA-MA78G-DS3H RAM: 2x 2GB A-Data 900MHz GPU: Sapphire Radeon HD4850 512mb Vapor-X DDR3 750/2200 HDD: 160 GB Maxtor + 640 GB Samsung F1 DVD-ROM: LG H10N TV tuner: Jetway JW-TV878MF Repro: Genius SP-HF 2.0 Power: Seasonic S12 430W Mouse: Logitech MX518 Gamepad: Logitech WingMan Rumblepad II, Logitech Chillstream Keyboard: A4Tech KX-5MU OS: Windows 7 x64 Ultimate + Ubuntu 10.04
Ondrej1
Začátečník
Začátečník
Registrován: 16. led 2007

Re: C++ zpravování výjimek problém

Příspěvek od Ondrej1 »

Dobrá literatura na toto téma je kniha od Johna Robinse "Ladění a testování aplikaci pro .NET a Windows", vydala česky Grada, je tam tomu věnována kapitola 13.
Odpovědět

Zpět na „Programování a web“