Solved

c#, ignore the error in catch (as in try catch)

Posted on 2014-11-15
3
171 Views
Last Modified: 2014-11-15
In a list box, when I click on an item, this code puts the selected item on the screen. One of the items reads <All> which put the program in panic and produces the error below:

Question: How can I find the error number for this instance and pacify the error?
try
{
   Response.Write(lstCity.SelectedItem.Text); 
}
  catch (Exception ex)
{
  // *********find the error number when lstCity.SelectedItem.Text == <All> and pacify the error
}

Open in new window

Error message when <All> is selected:
Server Error in '/' Application.

A potentially dangerous Request.Form value was detected from the client (lstCity="<All>").

Description: ASP.NET has detected data in the request that is potentially dangerous because it might include HTML markup or script. The data might represent an attempt to compromise the security of your application, such as a cross-site scripting attack. If this type of input is appropriate in your application, you can include code in a web page to explicitly allow it. For more information, see http://go.microsoft.com/fwlink/?LinkID=212874. 

Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (lstCity="<All>").

Source Error: 


[No relevant source lines]

Source File: c:\Users\Mike\AppData\Local\Temp\Temporary ASP.NET Files\vs\0db659aa\1e56896f\App_Web_1ohlj355.0.cs    Line: 0 

Stack Trace: 


[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (lstCity="<All>").]
   System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +9693725
   System.Web.<>c__DisplayClass5.<ValidateHttpValueCollection>b__3(String key, String value) +18
   System.Web.HttpValueCollection.EnsureKeyValidated(String key) +9693093
   System.Web.HttpValueCollection.GetValues(String name) +17
   System.Web.UI.WebControls.ListBox.LoadPostData(String postDataKey, NameValueCollection postCollection) +51
   System.Web.UI.WebControls.ListBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +15
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +303
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6704
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +245
   System.Web.UI.Page.ProcessRequest() +72
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
   System.Web.UI.Page.ProcessRequest(HttpContext context) +58
   ASP.default_aspx.ProcessRequest(HttpContext context) in c:\Users\Mike\AppData\Local\Temp\Temporary ASP.NET Files\vs\0db659aa\1e56896f\App_Web_1ohlj355.0.cs:0
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34237

Open in new window

0
Comment
Question by:Mike Eghtebas
3 Comments
 
LVL 33

Accepted Solution

by:
it_saige earned 400 total points
ID: 40444879
You could rewrite it like this:
try
{
	Response.Write(lstCity.SelectedItem.Text); 
}
catch (HttpRequestValidationException ex)
{
	if (ex.Message.Contains("lstCity = <All>"))
		Response.Write(lstCity.SelectedItem.Text);
	else
	{
		// This is really an exception, do some logging
	}
}
catch (Exception ex)
{
	// Do something logging.
}

Open in new window


But I would recommend that you choose a different item to represent <ALL>, like -ALL-, or just All Cities.

-saige-
0
 
LVL 36

Assisted Solution

by:Miguel Oz
Miguel Oz earned 100 total points
ID: 40444892
AS suggested by Saige you need a different string to represent <ALL>, this string  is not valid because it contains "<" and ">" .
0
 
LVL 34

Author Closing Comment

by:Mike Eghtebas
ID: 40444902
I used -All-
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question