समानांतर एल्गोरिदम दरवाजे पर दस्तक देने के साथ, त्रुटि से निपटने के बारे में सोचने का एक अच्छा समय हो सकता है।
इसलिए पहले तो त्रुटि कोड थे। वो चूसे। यह उन्हें अनदेखा करने के लिए स्वतंत्र था, इसलिए आप देर से विफल हो सकते हैं और हार्ड-टू-डीबग कोड का उत्पादन कर सकते हैं।
फिर अपवाद आए। एक बार होने के बाद उन्हें अनदेखा करना असंभव हो गया था, और ज्यादातर लोग (जोएल को छोड़कर) उन्हें बेहतर पसंद करते थे।
और अब हमें पुस्तकालय मिले जो समानांतर कोड की मदद करते हैं। समस्या यह है कि, आप समानांतर कोड में अपवादों को आसानी से नहीं संभाल सकते हैं क्योंकि आप गैर-समानांतर कोड के साथ आसानी से कर सकते हैं। यदि आप अतुल्यकालिक रूप से एक कार्य का शुभारंभ करते हैं और यह एक अपवाद फेंकता है, तो इसे खोलने के लिए कोई स्टैक ट्रेस नहीं है; सबसे अच्छा आप इसे पकड़ सकते हैं और इसे कार्य ऑब्जेक्ट पर पंजीकृत कर सकते हैं, अगर ऐसी कोई वस्तु है। हालांकि, यह अपवादों की प्राथमिक शक्ति को पराजित करता है: आपको उनके लिए जांच करनी होगी और आप उन्हें बिना किसी अतिरिक्त प्रयास के अनदेखा कर सकते हैं , जबकि एकल-थ्रेडेड कोड में एक अपवाद आवश्यक रूप से उपयुक्त कार्यों को ट्रिगर करेगा (भले ही इसका मतलब आपके कार्यक्रम को समाप्त करना हो)।
भाषा के कार्यान्वयन या पुस्तकालयों को समानांतर कोड में त्रुटियों का समर्थन कैसे करना चाहिए?