Olası Çoğalt:
throwing exceptions of objects on the stack, mem leak with new?C++ -The doğru atmak yolu ve yakalamak istisnalar
Eğernew
operatör olmadan veya ile C++ istisnalar atmak mı? Çünkü her ikisi de bir istisna atardı.
void KillUnicorns()
{
throw IllegalActionException();
}
int main()
{
try
{
KillUnicorns();
}
catch (IllegalActionException e)
{
// Handle exception
}
return 0;
}
Aşağıdaki örnek bellek sızdırıyor mu?
void KillUnicorns()
{
throw new IllegalActionException();
}
int main()
{
try
{
KillUnicorns();
}
catch (IllegalActionException* e)
{
// Handle exception
}
return 0;
}
C++'da istisnalar atmanın doğru yolu nedir?
Tek bir soru sorusu. Const IllegalActionException & e', 'IllegalActionException const & e' ile aynı sonucu veriyor mu? @ Martin'in yorumunda görüldüğü gibi. – Kevin
@ Kevin: kondensin bir türe eklenmesini ya da postfing yapması bir stil meselesidir (her ikisini de görebilirsiniz). Sonuç aynıdır. –