Irina Rathore Irina Rathore - 7 months ago 10
Javascript Question

How to add try catch block in jquery plugin

I have a jQuery plugin.I want to add try catch block for exception handling in my jQuery plug-in.

My plug-in

$(document).ready(function(){
$('.requiredclass').keyup(function() {


$(this).pluginMethod();

});
});

(function($) { //i Want try catch block for this part

// jQuery plugin definition

$.fn.pluginMethod = function(e) {

return this.each(function() {
var $this = $.this;
var som= $this.val();

//My Code goes here

});
};

})(jQuery);


Now if I want to add try catch block then how the plugin will look like?
In case of jquery function We do something like this

the function

function myFunction() {
//varible declarations
try {
//Code goes here
}
catch(err) { //We can also throw from try block and catch it here
alert("err");
}
finally {
//code for finally block
}
}


Now this is the format we know in case of a function.But what will be the format if I want to add exception handling in a plug in? In the plugin from
(function($) {
the plugin starts then there is
$.fn.pluginMethod = function(e) {
followed by

return this.each(function() {`. So where to start the try block and stop it,where to put catch block.Can any one suggest me the format.


If any one have any doubt in understanding the question please let me know,I will try to explain in more detail.

Answer

I don't think i really get your question. You need to be more clear.

But is this what you want?

$(document).ready(function(){
    $('.requiredclass').keyup(function() {
    $(this).pluginMethod();
    });
});


try { 
    (function($) {
        //jQuery plugin definition
        $.fn.pluginMethod = function(e) {

           return this.each(function() {
               var $this = $.this; 
               var som= $this.val();
               //your Code goes here
           });
        };

    })(jQuery);
} catch(err) {  //We can also throw from try block and catch it here
    alert("err");
} finally {
    //code for finally block
}
Comments