जवाब तकनीकी रूप से सही है, लेकिन अत्यधिक गुमराह।
इस मुद्दे के मूल में अवलोकन है कि अपवाद असाधारण हैं। वे आमतौर पर नहीं होते हैं। यह तब नहीं होता जब आप कोई त्रुटि कोड लौटाते हैं। यह हमेशा होता है, भले ही कोई त्रुटि न हो।उस मामले में समारोह अभी भी 0
, या true
, या -1
, या ...
वापस जाने के लिए अब इसका मतलब है कि एक सीपीयू और एक संकलक विशेष रूप से कार्य करता है कि अपवाद से असफल अनुकूलन कर सकते हैं है। लेकिन को का एहसास करना महत्वपूर्ण है, और यह असाधारण मामलों की लागत पर गैर-विफलता, अपवाद-अप केस है।
एक बार हमें एहसास हो जाने के बाद, हम देख सकते हैं कि कंपाइलर और सीपीयू ऐसे मामलों को कैसे अनुकूलित करते हैं। एक सामान्य विधि अपवाद कोड को सामान्य कोड से अलग रख रही है। नतीजतन, वह कोड आमतौर पर सीपीयू कैश में समाप्त नहीं होगा, जिसके परिणामस्वरूप अधिक उपयोगी कोड हो सकता है। वास्तव में, अपवाद कोड रैम में समाप्त नहीं हो सकता है, और डिस्क पर रह सकता है।
एक और सहायक तंत्र सीपीयू शाखा भविष्यवाणी है। यह याद रखेगा कि अपवाद कोड की ओर जाने वाली शाखाएं आमतौर पर नहीं ली जाती हैं, और इसलिए भविष्यवाणी की जाती है कि अगली बार उन्हें या तो नहीं लिया जाएगा। कंपाइलर इसे एक संकेत के रूप में भी डाल सकता है। हालांकि, इस संकेत सुविधा को इंटेल पेंटियम 4 के पीछे छोड़ दिया गया था; आधुनिक सीपीयू ने अच्छी तरह से शाखाओं की भविष्यवाणी की। क्योंकि तुम क्या अपवादों को लागू करने से मतलब