Обработка исключения в WebMethod - C#
Формулировка задачи:
Добрый день! Начал осваивать C# и сталкнулся с некоторой проблемой. Сделал Web-сервис, отлаживаю его в браузере, ввел не корректное значение в поле ожидающее тип int возникло исключение:
System.ArgumentException: Невозможно преобразовать в System.Int32.
Имя параметра: type ---> System.FormatException: Входная строка имела неверный формат.
в System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
в System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
в System.String.System.IConvertible.ToInt32(IFormatProvider provider)
в System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
в System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)
--- Конец трассировки внутреннего стека исключений ---
в System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)
в System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
в System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)
в System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
в System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
Пытаюсь перехватить FormatException однако не получается это сделать, все равно выдается системное сообщение, подскажите что не правильно?
using System; using System.Collections.Generic; using System.Web; using System.Web.Services; namespace ExaminationWork { /// <summary> /// Сводное описание для Service1 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] // Добавить нового сотрудника public string AddEmployee(string name, int salary, int department_id) { try { } catch (FormatException) { return "Error!"; } return "Ok"; } } }
Решение задачи: «Обработка исключения в WebMethod»
textual
Листинг программы
public string AddEmployee(string name, string salaryString, string department_idString) { try { int salary = int.Parse(salaryString); int department_id= int.Parse(department_idString); } catch (FormatException) { return "Error!"; } return "Ok"; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д