antlr - getting user defined error messages using antlr3 -
क्रमांकन रिटर्न (स्ट्रिंग वैल्यू): नंबररंगशूब {स्ट्रिंग संख्या रेंज = ($ numberrangesub.text); स्ट्रिंग [] v = numberRange.split (","); अगर (पूर्णांक। पीआरआईआईएनटी (वी [0] .टीआईएम ()) और एलटी। इंटीजर। पीआरआईआईएनटी (वी [1] .टीआईएम ())) $ value = numberRange; और नए मान्यता अपवाद फेंक (); };
कृपया उपरोक्त एएनटीएलआर कोड देखें। इसमें मैं एक उपयोगकर्ता के अनुकूल त्रुटि संदेश जैसे कि "मान से मूल्य के बराबर होना चाहिए",
। मुझे उम्मीद है कि इस तरह से मान्यता अपवाद ("मान से मूल्य के बीच में मूल्य से कम होना चाहिए");
लेकिन एंटीलेटर ने ऊपर की तरह स्वीकार नहीं किया।
जावा वर्ग में जहां मैं एंटीरल द्वारा उत्पन्न जावा वर्ग को बुला रहा है मैं इस तरह से संभाल रहा हूँ।
try {parser.numberRangeCheck (); } पकड़ (रिकग्निशन अपवाद ई) {बनाने के लिए अपवाद ("अवैध व्यापार तर्क सिंटैक्स" पर + + पार्सर। गेट ईर्रॉयर हैडर (ई) + "," + पार्सर.गेट ईर्रम मेसेज (ई, रिक्त), स्तर .INFO, लॉगर); }
कोई भी मदद ऐपिकियाएटेड होगी।
क्यों नहीं बस अपने कस्टम त्रुटि संदेश के साथ एक रनटाइम एक्सपॉशन
फेंक सकता है?
// फिर से नया रनटाइम अपवाद फेंकें ("मान से मूल्य के बीच से कम होना चाहिए" ; // ...
Comments
Post a Comment