आप एक मैक्रो बना सकते हैं जो एक कोशिश-पकड़ ब्लॉक में फ़ंक्शन कॉल को लपेट लेगा जो इस तरह के अपवाद को पकड़ लेगा।
उदा।
(with-default-method [fxn args default] ...)
की तरह कुछ,
(try (fxn args) (catch java.lang.IllegalArgumentException _) (finally default))
ऊपर
का विस्तार होगा ज्यादातर हाथ से लहराते है क्योंकि मुझे नहीं लगता है कि इस सब पर एक अच्छा विचार है है: यह अपवाद प्रणाली के दुरुपयोग है, और मुझे लगता है कि यह अप्रत्याशित चीजें करेगा।
मैं रूबी व्यक्ति नहीं हूं, लेकिन मुझे यह महसूस हो रहा है कि यह सुविधा उस भाषा में बेक्ड है; जावा में, और विस्तार क्लोजर द्वारा, आपको इसे आजमाने और बोल्ट करना होगा, और यह सुंदर नहीं होगा।
स्रोत
2011-09-03 19:15:54
आप इस मामले को किस मामले में शामिल करना चाहते हैं? – Brian