import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class FutureProviderPage extends StatelessWidget { const FutureProviderPage({super.key}); Future fetchData() async { await Future.delayed(const Duration(seconds: 2)); throw Exception('Failed to load data'); // Simulate an error } @override Widget build(BuildContext context) { return FutureProvider( initialData: 'Loading...', create: (_) => fetchData().catchError((error) { return 'Error: ${error.toString()}'; }), child: Scaffold( appBar: AppBar( title: const Text('FutureProvider Example'), ), body: const Center( child: DataDisplay(), ), ), ); } } class DataDisplay extends StatelessWidget { const DataDisplay({super.key}); @override Widget build(BuildContext context) { final data = context.watch(); print('DataDisplay: $data'); return Text(data); } }