闽公网安备 35020302035485号
                异常:Dart 使用异常来处理运行时错误和程序异常情况。异常可以通过 throw 关键字明确地抛出,也可以通过内置函数和方法暗地里抛出。
	
try {
  // 可能会抛出异常的代码
  throw Exception('An error occurred');
} catch (e) {
  print('Caught exception: $e');
}
on 子句try {
  // 可能会抛出异常的代码
} on Exception catch (e) {
  print('Exception caught: $e');
} catch (e) {
  print('Unknown error: $e');
}
finally 最终块try {
  // 可能会抛出异常的代码
} catch (e) {
  print('Exception caught: $e');
} finally {
  print('Cleanup tasks');
}
throw 抛出关键字void depositMoney(double amount) {
  if (amount <= 0) {
    throw ArgumentError('Amount must be greater than zero');
  }
  // 存款逻辑
}
fetchUserData().then((data) {
  // 处理成功的结果
}).catchError((error) {
  // 处理错误
  print('Error fetching user data: $error');
});
async 异步 / await 等待Future<void> fetchData() async {
  try {
    // 可能会抛出异常的异步代码
    var data = await fetchDataFromServer();
    // 处理数据
  } catch (e) {
    // 处理错误
    print('Error fetching data: $e');
  }
}
stream 流错误处理stream.listen(
  (data) {
    // 处理数据
  },
  onError: (error) {
    // 处理错误
    print('Error in stream: $error');
  },
  onDone: () {
    // 流关闭
  },
);
全局错误处理import 'package:flutter/material.dart';
void main() {
  FlutterError.onError = (FlutterErrorDetails details) {
    // 在此处处理错误,例如将错误日志发送到远程服务器或显示错误信息给用户
    print('Flutter Error: ${details.exception}');
    print('Stack trace:\n${details.stack}');
  };
  // 堆代码 duidaima.com
  // FlutterError.onError 方法应在应用程序的入口点调用(例如 main 函数),以确保它在应用程序运行之前被设置。
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Error Handling',
      home: MyHomePage(),
    );
  }
}
class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Error Handling'),
      ),
      body: Center(
        child: RaisedButton(
          child: Text('Trigger Error'),
          onPressed: () {
            // 模拟触发错误的场景
            throw Exception('This is a sample error.');
          },
        ),
      ),
    );
  }
}
测试错误情况:编写针对可能出现错误情况的测试用例,以确保你的错误处理机制能够按预期工作。