Script_manager and r.exc

Hello;

What script_manager is used for?

Example:
me.frm.script_manager.trigger("price_list_rate", cdt, cdn);

In other words, what is the difference between using me.frm.script_manager.trigger("price_list_rate", cdt, cdn) and me.frm.trigger("price_list_rate", cdt, cdn)?

Also, what is the r.exc in the call back?
Example:

                        callback: function(r) {
                                if(!r.exc) {
                                         .................................
                                 }
                        }

I know the r.message is containing the returned variables but what is the meaning for r.exc?

Regards
Bilal

Any help about this?

Regards
Bilal