exceptiony

Pavel Kankovsky peak na kerberos.troja.mff.cuni.cz
Pondělí Červen 1 15:48:00 CEST 1998


On Sun, 31 May 1998, Tomas Vasko wrote:

> class Exception { protected: Exception(){}; };
> class ExcError : public Exception{};
> 
> int main()
> {
> 	try{
> 		throw new ExcError();
> 		cout << "a" <<endl;
> 	}
> 	catch( Exception* )
> 	{
> 		cout << "Exception*" <<endl;
> 	}
> 	catch( ExcError* )
> 	{
> 		cout << "ExcError*" <<endl;
> 	}
> 	return 0;
> }
> --------
> 
> by mal podla mna vypisat Exception a skoncit.
> vypisuje vsak ExcError!

nebyl bych si tak uplne jisty tim, ze je to spatne: nechce se mi ted
studovat navrh normy, ale neni uplne nesmyslne, ze dava prednost shode
typu pred poradim catch-u v kodu
 
> kompiloval som c++ -fhandle-exceptions -ansi -Wall %  (aj bez -ansi)
> using c++ -v  --> 2.7.2.3

ony jsou stejne vyjimky v 2.7 dost divne, 2.8/egcs je na tom mozna lepe

> watcom takuto konstrukciu vobec nezhltne - vyhlasi error na riadku 
> catch( ExcError*) s tym ze to nema zmysel, co je dost normalne a borland 
> na to aspon upozorni...

rad bych videl kompilator, co vyjimky umi (treba watcom ma nejaky pekny
memory leak, co v nejakych zahadnych situacich zpusobuje, ze to cele
zhebne)

> 	btw another exc. problem:
> 
> uz davnejsie som mal problemik s niecim takymto:
[...]
> void SigFPE( int )
> {
> 	signal(SIGFPE, SigFPE);
> 	throw TDivision_by_zero();
> }

to je IMHO docela odvazne

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]



Další informace o konferenci Linux