I am having a pagemethod to which i give a call from my JavaScript say
Pagemethods.MyMethod(MyParameter, onsucess, onfailure);
In the Code behind, I have something like this:
[WebMethod]
public static void MyMethod(Param)
{
try{
//DoSomething..
}
catch(exception ex)
{
//Log the exception and rethrow
throw new exception(ex.innerexception);
}
}
Now the issue i face is :
Whenever i do get an exception, i re throw the exception from code behind
But in the onfailure method, i just get a generic message saying that "the server method MyMethod failed with following error: "
I don't seem to get the exception details and only that generic exception,
How can i get the exception details on JavaScript, in order to handle it according on the UI/JavaScript side.
I have verified, that it is not an issue with custom errors settings in web.config.
Can some one enlighten to me as to what is happening here?
PS: i have stepped through each and every line of code and the exception after being logged is rethrown with the proper exception details i.e. message.
As far as I understand as long as you have
<customErrors mode="off" />
in your web.config, the message will be returned to client. Are you sure you have this setting ?
To display the message associated with error you need to have oassed the name of the function as the third parameter of the page method call : this function could be as simple as:
function onfailure( result )
{
alert( result.get_message() );
}
That's what we have and it works OK
After you have set <customErrors mode="off" />
in the <system.web>
section of the web.config, try these functions to get all of the exception details from the PageMethod's onfailure:
function onfailure(error) {
alert("Error: " + error.get_message() + "; " +
"Stack Trace: " + error.get_stackTrace() + "; " +
"Status Code: " + error.get_statusCode() + "; " +
"Exception Type: " + error.get_exceptionType() + "; " +
"Timed Out: " + error.get_timedOut());
}
I've found the error's status code to be far more helpful than the error message itself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With