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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5