इस कोड के साथ:
int main()
{
try
{
throw -1;
}
catch (int& x)
{
std::cerr << "We caught an int exception with value: " << x << std::endl;
}
std::cout << "Continuing on our merry way." << std::endl;
return 0;
}
हमारे पास है:
/tmp$ ./prorgam.out
Continuing on our merry way
We caught an int exception with value: -1
catchब्लॉक कैसे पढ़ता -1है int&? हम एक नॉन-कॉन्स्टल लैवल्यू रेफरेंस को वैल्यू नहीं दे सकते।
और std::coutपहले std::cerrकथन से पहले दूसरे कथन को क्यों निष्पादित किया जाता है?
error streamनहीं है standard stream।
throwआपके द्वारा पास की गई वस्तु की प्रतिलिपि (या चाल) बनाता है। संदर्भ उस प्रति को बांधता है। यह इस तरह से समझ में आता है कि कॉपी एक लवलीन है।
We caught an int exception with value: -1लाइन पहले मुद्रित किया जाना चाहिए।