उपरोक्त टिप्पणियों का विस्तार (रीड, बाकुरी और जेफरी के क्रेडिट)। टर्मिनल में अब
import System.Exit
main :: IO()
main = exitWith ExitSuccess
:: यह अत्यधिक संभावना है कि आप ghci
में निम्नलिखित कार्यक्रम को क्रियान्वित करने कर रहे हैं
$ ghci
λ> :load crash.hs -- crash.hs is the filename
λ> main
*** Exception: ExitSuccess
ध्यान दें कि ghci
और ghc
अलग हैं। ghci
का उपयोग हास्केल के लिए एक आरपीएल के रूप में किया जाता है। उपरोक्त कोड जब संकलित और मार डाला तरह निम्नलिखित किसी भी संदेश का उत्पादन नहीं होगा:
$ ghc -o crash crash.hs
$ ./crash
ध्यान दें कि आरईपीएल ghci
नामित कार्यक्रम के माध्यम से शुरू हो जाती है। एक निष्पादन योग्य संकलन और उत्पादन के लिए, आपको ghc
नामक निष्पादन योग्य का उपयोग करना होगा।
इसे प्रिंट नहीं करना चाहिए, आप वास्तव में क्या कर रहे हैं? –
क्या आप ghci में उस कोड को निष्पादित कर रहे हैं? जब मैं * संकलित * कोड करता हूं तो यह प्रिंट नहीं करता है, लेकिन ghci का उपयोग करके यह त्रुटि दिखाता है। मेरा मानना है कि ऐसा इसलिए है क्योंकि ghci एक कस्टम अपवाद हैंडलर जोड़ता है (वास्तव में यह बिल्कुल बाहर नहीं निकलता है!) – Bakuriu
मैं हास्केल प्लेटफ़ॉर्म का उपयोग कर रहा हूं, जिसे मैं ghci में निष्पादित करता हूं। यहां मेरे कोड का एक स्निपेट है: यदि opt == 3 बाहर निकलें तो बाहर निकलें और बाहर निकलें ... – Ali