मुझे नहीं पता कि यह "" आधिकारिक उपयोग का मामला था, लेकिन निम्नलिखित जावा में एक चेतावनी पैदा करता है (जो return
बयानों के साथ मिश्रित होने पर संकलन त्रुटियों को पैदा कर सकता है , जो अगम्य कोड के लिए अग्रणी है):
while (1 == 2) { // Note that "if" is treated differently
System.out.println("Unreachable code");
}
हालांकि यह कानूनी है:
while (isUserAGoat()) {
System.out.println("Unreachable but determined at runtime, not at compile time");
}
इसलिए मैं अक्सर खुद को एक कोड ब्लॉक को डमी करने के लिए सबसे तेज़ तरीके के लिए एक मूर्खतापूर्ण उपयोगिता विधि लिखता हूं, फिर डिबगिंग को पूरा करने के लिए सभी कॉलों को ढूंढता हूं, बशर्ते कार्यान्वयन में बदलाव न हो, इसके लिए इसका उपयोग किया जा सकता है।
जेएलएस बताते हैं if (false)
कि यह विशिष्ट कारण के लिए "अगम्य कोड" को ट्रिगर नहीं करता है, जो डिबग फ़्लैग के लिए समर्थन को तोड़ देगा, अर्थात, मूल रूप से यह उपयोग मामला (h / t @auselen)। ( static final boolean DEBUG = false;
उदाहरण के लिए)।
मैं प्रतिस्थापित while
के लिए if
, एक अधिक अस्पष्ट उपयोग के मामले का निर्माण किया। मेरा मानना है कि आप इस व्यवहार के साथ ग्रहण की तरह अपनी IDE यात्रा कर सकते हैं, लेकिन यह संपादन भविष्य में 4 साल का है, और मेरे पास खेलने के लिए ग्रहण वातावरण नहीं है।