У меня есть веб-проект, который имеет страницу с именем editemployee.aspx.Код позади является editemployee.aspx.cs.Из этого кода я называю другой проект библиотекой классов.Метод, который я вызываю в этой библиотеке классов, выглядит следующим образом ...
public static Employee GetItem(int employeeid)
{
try
{
Employee chosenemployee = EmployeeDB.GetItem(employeeid);
chosenemployee.EmployeeInsuranceRecord = EmployeeInsuranceRecordManager.GetItem(employeeid);
return chosenemployee;
}
catch (Exception ex)
{
if (ex is NullReferenceException)
{
//How can I return gracefully from here
//without disrupting the user experience?
}
else
{
throw ex; //if it makes it this far, it must be some other unknown error and I need an exception to be thrown for real so I can track down the bug.
}
}
}
По сути, этот код получает полную запись сотрудника из уровня доступа к данным на основе переданного EmployeeID.Если исключением является NullReferenceException, это означает, что каким-то образом поддельный EmployeeID прошел.В этом случае я хочу вернуться на вызывающую страницу .aspx.cs, ОСТАНОВИТЬ процесс сортировки Employee прямо здесь и отобразить окно предупреждения JavaScript, которое говорит: «Указанный EmployeeID недействителен».
Поэтому я попытался сказать:
if (ex is NullReferenceException)
{
Response.Write("<script>alert('"The EmployeeID supplied is not valid."')</script>");
}
Но это не работает из отдельной библиотеки классов, как эта, он не распознает Response.Write.
В основном япросто нужно из этого метода дать сигнал вызывающей странице, чтобы она просто изящно остановилась и отобразила ошибку, вместо того, чтобы дать пользователю огромное уродливое неисправимое сообщение об ошибке.Любые советы?