Russian Qt Forum
Ноябрь 23, 2024, 05:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTcpSocket::SocketError socketError -> Строка описание  (Прочитано 4511 раз)
Ruzzz
Гость
« : Август 07, 2009, 04:43 »

Есть функция в которой обрабатываются возможные ошибки из многих потоков. Передаю QTcpSocket::SocketError socketError, но как получить строку описания для лога, так чтобы не передавать эту строку из потока(тут ее можно получить из QTcpSocket). Есть ли такая возможность?
В исходниках QT смотрел QTcpSocket и QAbstractSocket, ничего не нашел, но самое страное что в коде встречается такое:
Код
C++ (Qt)
socketError = QAbstractSocket::ConnectionRefusedError;
q->setErrorString(QAbstractSocket::tr("Connection refused"));
Даже я бы сказал, что так везде, получается, что вместе с кодом ошибки, присваивают и ее описание. Но зачем? Получается что если я хочу вести лог, то мне нужно проверять ошибку на все возможные enum QTcpSocket::SocketError и самому придумывать описание?
Записан
Ruzzz
Гость
« Ответ #1 : Август 07, 2009, 04:47 »

Почему бы например для QAbstractSocket не сделать параллельно с enum SocketError еще и что-то типа enum SocketErrorStr? Улыбающийся Или это связано с тем что ошибки общие для многих ситуаций, и в каждой конкретной нужно свое пояснение?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #2 : Август 07, 2009, 07:38 »

ну можно ловить сигнал void error(QAbstractSocket::SocketError)  и по этому сигналу выводить QString errorString () const
Записан

ArchLinux x86_64 / Win10 64 bit
Ruzzz
Гость
« Ответ #3 : Август 08, 2009, 03:51 »

А как например ловить этот error для QTcpServer? Тут вообще не пойму как обратиться к его сокету? И очень бы хотелось понять как ловить stateChanged?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.088 секунд. Запросов: 22.