जावा के डिजाइनर जांचे हुए अपवादों की योजना बनाते हैं, जो अपवाद की विशेष ढांचा होते हैं। जाँच अपवाद जो एक पद्धति उठा सकती है, वे पद्धति के हस्ताक्षर का हिस्सा होते हैं। उदाहरण के लिए, यदि एक पद्धति एक codice_14फेंक सकती है तो उसे इस तथ्य को अपनी पद्दति हस्ताक्षर में घोषित करना चाहिए। यह कर पाने में विफलता एक संकलन समय त्रुटि को जन्म देता है।

यह अपवाद जांचकर्ताओं के साथ जुड़ी होती है जो कम से कम OCaml के लिए मौजूद रहते हैं। OCaml के लिए बाहरी उपकरण पारदर्शी (यानी इसे किसी भी वाक्यात्मक एनोटेशन की आवश्यकता नहीं है) और वैकल्पिक (यानी एक प्रोग्राम को बिना अपवाद जांच किए संकलन और चालू करना संभव है, यद्दपि उत्पादन कोड के लिए इसका सुझाव नहीं दिया जाता है) दोनों होते हैं।

Clu प्रोग्रामिंग भाषा के पास इंटरफेस युक्त एक विशेषता थी, कुछ-कुछ वैसी ही जैसा जावा ने बाद में शुरू किया। एक प्रकार्य अपने टाइप में उल्लिखित अपवादों को ही पैदा कर सकता है लेकिन कॉल किया हुआ कोई भी लीक हो रहा अपवाद अपने आप सोल रनटाइम अपवाद, codice_15, में बदल जाएगा, संकलन-समय त्रुटि में परिणाम बताने के बावजूद. बाद के, मोड्युला-3 में समान सुविधा थी। ये सुविधाएं संकलन समय जांच को शामिल नहीं करती जो जांच किए हुए अपवाद की परिकल्पना के केन्द्र में है और जिन्हें जावा के अलावा अन्य किसी प्रोग्रामिंग भाषा में निगमित नहीं किया गया है (2006 तक).

C++ प्रोग्रामिंग भाषा जांच किए हुए अपवादों के लिए एक वैकल्पिक व्यवस्था करती है जिसे "अपवाद विनिर्देश " कहा जाता है। डिफ़ॉल्ट रूप से कोई भी प्रकार्य अपवाद थ्रो कर सकता है, लेकिन इसे प्रकार्य हस्ताक्षर में जोड़े गए codice_16क्लॉज के द्वारा सीमित किया जा सकता है, जो यह विनिर्दिष्ट करता है कि किस अपवाद को थ्रो किया जाय. अपवाद विनिर्देश संकलन समय पर जबरदस्ती लागू नहीं किया जाता. वैश्विक समारोह में उल्लंघन परिणाम को codice_17 को बुलाया जा रहा है। एक खाली अपवाद विनिर्देश दिया जा सकता है जो इंगित करता है कि प्रकार्य कोई अपवाद थ्रो नहीं करेंगे। अपवाद संचालन को भाषा के साथ जोड़ते समय इसे डिफॉल्ट नहीं बनाया गया था क्योंकि मौजूदा कोड में बहुत सारे सुधार की जरूरत होती, दुसरी भाषाओं में लिखे कोड के साथ अंत:क्रिया करने में यह अड़चन पैदा करता, तथा स्थानीय स्तर पर यह बहुत सारे संचालक लेखन के लिए प्रोग्रामरों को आकर्षित करता. खाली अपवाद विनिर्देशों का स्पष्ट उपयोग, हलांकि महत्त्वपूर्ण कोड और स्टैक लेआउट के अनुकूलन प्रदर्शन करने के लिए C++ संकलकों को अनुमति दे सकता है जिसे उस समय दबा देना पड़ता है जब एक प्रकार्य में अपवाद संचालन घटित होता है। कुछ विश्लेषकों की राय है कि C++ में अपवाद विनिर्देशों के समुचित उपयोग को हासिल करना मुश्किल है। आगामी C++ भाषा मानक (C++0x) में, वर्तमान संस्करण में सुनिश्चित मानक (C++03) अपवाद विनिर्देश का उपयोग अस्वीकृत हो जाता है।

अपवाद संचालन का सत्यापन
जांचे हुए अपवाद
अवस्था प्रणालियां
रिस्टार्ट यंत्रावली को नीति से अलग करता है