2012-07-03 6 views
5

मैंने Enumerable.Zip को फिर से कार्यान्वित किया (मेरा Merge कहा जाता है)। यह मूल जैसा ही है, सिवाय इसके कि अगर एक गणक का MoveNext दूसरे से पहले झूठा रिटर्न देता है (संकेतों को इंगित करना एक ही लंबाई के नहीं हैं), यह एक अपवाद फेंकता है।अनुक्रम लंबाई के समान होने पर कौन सा अपवाद

मेरा प्रश्न है: BCL से यहां फेंकने के लिए सबसे उपयुक्त अपवाद क्या होगा? (मैं चाहता हूं कि यह शेष Enumerable (LINQ) फ़ंक्शंस की बारीकी से नकल करें।)

+0

पहला व्यक्ति जो एक परिपूर्ण व्यक्ति के साथ अपवाद चाहता है। –

+0

@ निखिल अग्रवाल क्या इसमें कुछ गड़बड़ है? –

उत्तर

3

मुझे लगता है कि आपकी दूसरी सरणी एक तर्क होगी। तो

System.ArgumentOutOfRangeException 

ArgumentException के उपवर्ग जब एक (आमतौर पर अंकीय) तर्क बहुत बड़ी या बहुत छोटा है कि फेंक दिया है। उदाहरण के लिए, यह एक फ़ंक्शन में नकारात्मक संख्या उत्तीर्ण करते समय फेंक दिया जाता है जो केवल सकारात्मक मान स्वीकार करता है।

या हो सकता है

System.InvalidOperationException 

फेंक दिया जब एक वस्तु की स्थिति अनुपयुक्त है के लिए एक विधि सफलतापूर्वक निष्पादित करने के लिए किसी विशेष तर्क मूल्यों की परवाह किए बिना। उदाहरणों में एक अनपेक्षित फ़ाइल पढ़ने या अगले तत्व को एक गणक से प्राप्त करना शामिल है जहां अंतर्निहित सूची को पुनरावृत्ति के माध्यम से भाग में संशोधित किया गया है।

+0

FWIW: मैं 'System.ArgumentOutOfRangeException' के साथ गया था। –

संबंधित मुद्दे