डगलस Crockford कुछ इस तरह कर रही सिफारिश की गई है:जावास्क्रिप्ट में कस्टम अपवाद फेंकना। किस शैली का उपयोग करना है?
throw {
name: "System Error",
message: "Something horrible happened."
};
लेकिन क्या आप भी कुछ इस तरह कर सकता है: मुझे लगता है कि आप एक शामिल हो सकते हैं
try {
//some code that generates exceptions
} catch(e) {
if(e instanceof IllegalArgumentException) {
//handle this
} else if(e instanceof SomeOtherTypeOfException) {
//handle this
}
}
:
function IllegalArgumentException(message) {
this.message = message;
}
throw new IllegalArgumentException("Argument cannot be less than zero");
और उसके बाद करना क्रॉकफोर्ड के कार्यान्वयन में type
संपत्ति और फिर instanceof
करने की बजाय जांच करें। क्या एक बनाम दूसरे से कोई फायदा है?
किसी के लिए जावा-शैली अपवादों के लिए उपयोग किया जाता है, दूसरा रूप बहुत अधिक दिखता है ... अधिक परिचित। – NullUserException
हां, मैं इसी कारण से दूसरे के लिए आंशिक हूं। :) –
मैं दूसरे के पक्ष में हूं क्योंकि यह कोड शुद्धता के मामले में अधिक पुन: प्रयोज्य है। सटीक होने के लिए, यदि मैं कई जगहों पर एक ही अपवाद प्रकार को फेंकने वाला हूं, तो मेरा कोड पहले दृष्टिकोण के साथ गन्दा (विशाल) होगा। – bellpeace