Проблема, с которой вы сталкиваетесь, заключается в том, что веб-служба не возвращает никаких сведений об исключении клиенту Silverlight при возникновении какого-либо исключения. Он просто возвращает 404 статус не найден как результат, и, следовательно, вы всегда получаете исключение «Не найдено».
Что вы можете попробовать сделать, так это убедиться, что ваш веб-сервис возвращает 200 (действительный результат) даже в случае исключения и каким-то образом возвращает сообщение об ошибке вместе с объектом.
пример:
public class WebServiceResult
{
//your object's properties go here
//extra properties to check if exception has occured
public string ErrorMessage {get; set;}
public bool IsError {get; set;}
}
Используйте Fiddler, чтобы попытаться лучше понять, что я говорю. Вы увидите ошибку 404 в случае каждого исключения.