এই কোড সহ:
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লাইন প্রথম মুদ্রিত দিতে হবে।