RX0188

डोमेन: निष्पादन

त्रुटि संदेश

कोई वास्तविक वर्गमूल नहीं: %s (%s)

संदेश में %s उस मान की जगह है जिसे इंजन त्रुटि उठाते समय भरता है।

कहानी

आपने math.sqrt को एक ऐसी संख्या दी जिसका वास्तविक वर्गमूल है ही नहीं, और इंजन ने काम रोक दिया। देखते हैं क्यों। math.sqrt सटीक वर्गमूल देता है, या वह मूल जो सलीके से छाँटा जा सके। पर ऋणात्मक संख्या का वर्गमूल वास्तविक संख्याओं में होता ही नहीं। माइनस नौ का मूल कोई ऐसी संख्या नहीं जिसे आप उसी रेखा पर रख सकें। और अगर आपने NaN दे दिया, तो वह भी ऐसी चीज़ है जिसे यह इंजन अपने पास जमा ही नहीं करता। इसलिए इंजन चुपचाप कुछ भी गढ़कर नहीं देता। वह साफ़ बताता है कि कौन-सा ऑपरेंड था और क्यों नहीं चला। पहले यह एक बेनाम कोड माइनस एक बनकर आता था। अब आपको मान और कारण, दोनों मिलते हैं। एक छोटा उदाहरण: math.sqrt of minus 9 नकारा जाता है। सुधार यह है कि पहले जाँच लें कि संख्या शून्य या उससे बड़ी है, या ऐसा मान दें जो हो सकता है, जैसे math.sqrt of 9, जिसका उत्तर ठीक 3 है। संदेश का पहला खाना आपका ऑपरेंड है, दूसरा कारण। उसे पढ़िए, और ऋणात्मक मान को स्रोत पर ही सुधार दीजिए।

पाठ Rush इंजन की त्रुटि सूची से लिया गया है।