Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpMlErr 195 of 224 menu
◀ ▶

Ошибка отправки в Dart

Если хост или порт недоступны, send завершается с ошибкой. В учебном коде ее ловят, печатают текст и продолжают работу - например, выводят служебную метку после блока try.

Намеренно указывают неверный порт у SmtpServer для хоста smtp.example.com:

import 'package:mailer/mailer.dart'; import 'package:mailer/smtp_server.dart'; void main() async { var smtp = SmtpServer( 'smtp.example.com', port: 9, username: 'user', password: 'secret', ); var message = Message() ..from = Address('writer@local.test') ..recipients.add('reader@local.test') ..subject = 'Will fail' ..text = 'No listener on port 9.'; try { await send(message, smtp); print('sent'); } catch (e) { print(e); } }

Строка "sent" не появляется. Вместо нее в консоли - описание ошибки соединения. Программа доходит до конца main без необработанного сбоя.

Укажите порт 9999 у SmtpServer для smtp.example.com. Перехватите ошибку в catch и выведите объект исключения.

Повторите отправку с неверным портом, но после ошибки выведите "done". Убедитесь, что метка печатается.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить