Dart中如何编写可捕获int.parse转换异常的if判断语句?
实现方案
Dart 内置的 int.tryParse() 方法可以直接满足需求,该方法解析失败时会返回 null 而非抛出异常,你可以直接把判空逻辑写在 if 语句中,无需额外捕获异常。
代码示例
String value; // 解析结果为null时代表出现错误,执行if内代码 if (int.tryParse(value) == null) { // 你的业务逻辑 }
补充说明
- 如果后续需要用到解析成功的整数值,可以提前接收返回值再做判断,避免二次解析损耗性能:
String value; int? parsedResult = int.tryParse(value); if (parsedResult == null) { // 解析出错逻辑 } else { // 解析成功,parsedResult 就是转换后的整数 }
- 若使用无空安全的旧版 Dart,只需去掉变量类型后的
?符号即可,判断逻辑完全一致。
内容的提问来源于stack exchange,提问作者Zilaid
相关产品推荐
相关产品推荐

