Обработка исключения в 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";
}