Я использую try catch для обработки ошибок и отображения виджета в случае ошибки. Это работает, но исключение по-прежнему выводится в консоли отладки, исключение в этом случае - IOException
, как предотвратить вывод этого исключения на консоль?
try {
PDFDocument pdfDocument = await PDFDocument.fromURL(pdfUrl);
Navigator.of(context).push(
MaterialPageRoute(
builder: (ctx) =>
DisplayPdf(pdfDocument),
),
);
} catch (error) {
showDialog(...);
}
Код функции fromURL
из пакета pdf, который я использую:
static Future<PDFDocument> fromURL(String url) async {
// Download into cache
File f = await DefaultCacheManager().getSingleFile(url);
PDFDocument document = PDFDocument();
document._filePath = f.path;
try {
var pageCount =
await _channel.invokeMethod('getNumberOfPages', {'filePath': f.path});
document.count = document.count = int.parse(pageCount);
} catch (e) {
throw Exception('Error reading PDF!');
}
return document;
}