Создал свой класс исключения
public class HTML_Manager_Exception : ApplicationException
{
public HTML_Manager_Exception() { }
public HTML_Manager_Exception(string message) : base(message) { }
public HTML_Manager_Exception(string message, Exception inner) : base(message, inner) { }
protected HTML_Manager_Exception(SerializationInfo info, StreamingContext context) : base(info, context) { }
}
Есть у меня два метода:
public static async void BonusTableRefresh(int u_id)
{
try
{
LoginBon(u_id);
}
catch (HTML_Manager_Exception ex)
{
throw new HTML_Manager_Exception(ex.Message);
}
}
public static async void LoginBon(int u_id)
{
string login = CryMotherFucker.DecryptStringAES(du["log_bonus"].ToString(), CryMotherFucker.SharedSecret);
if (string.IsNullOrEmpty(login))
throw new HTML_Manager_Exception("Для пользователя не указан логин доступа к сайту");
}
Мне нужно чтобы при выбрасывании исключения в методе LoginBon оно передавалось в метод BonusTableRefresh, но этого почему-то не происходит, прога просто стопится. В чём дело?
Если ваши методы действительно асинхронны, то вам и нужно их вызывать как асинхронные, с ожиданием результата выполнения. В частности, вместо
LoginBon(u_id);
напишите
await LoginBon(u_id);
А тип возвращаемого значения для него замените с void на Task.
Также если метод CryMotherFucker.DecryptStringAES
является асинхронным, то и перед ним нужен оператор await
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый день! Видел много вопросов по этому поводу но ответа так и не нашёл
Для того, чтобы отобразить свойства и поля моего класса в PropertyGrid, я для них задаю атрибуты PropertyGridНапример :