You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart中readLineSync命令报错“Unknown evaluation response type: null”求助

问题分析与解决办法

一、代码逻辑错误

你当前的代码存在明显逻辑问题:

  1. 提示输入“Obtained Marks”后,并未读取新的输入值,直接把之前输入的Maximum Marks赋值给了mxm,完全不符合需求逻辑。
  2. 使用!强制解包stdin.readLineSync(),如果输入为空或终端意外关闭,会直接触发空指针异常,代码健壮性不足。

修正后的代码示例:

import 'dart:io';

void main() {
  int? maxMarks;
  int? obtainedMarks;
  
  print('Enter Maximum Marks:');
  String? maxInput = stdin.readLineSync();
  if (maxInput != null) {
    maxMarks = int.tryParse(maxInput);
  }
  
  if (maxMarks == null) {
    print('无效的最高分输入,请输入整数');
    return;
  }
  
  print('Enter Obtained Marks:');
  String? obtainedInput = stdin.readLineSync();
  if (obtainedInput != null) {
    obtainedMarks = int.tryParse(obtainedInput);
  }
  
  if (obtainedMarks == null) {
    print('无效的得分输入,请输入整数');
    return;
  }
  
  print('最高分: $maxMarks');
  print('得分: $obtainedMarks');
  print('总分计算: ${maxMarks + obtainedMarks}');
}

二、关于报错“Unknown evaluation response type: null”

这个错误并非代码语法问题,而是VS Code Dart调试器的终端交互bug,可通过以下方式解决:

  • 放弃VS Code的调试模式运行代码,直接在终端执行dart your_file_name.dart命令启动程序。
  • 检查VS Code的Dart插件版本,更新到最新版后重试。
  • 确认终端支持标准输入交互,避免使用不支持输入的集成终端环境。

内容的提问来源于stack exchange,提问作者TalIQ501

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 07:52:05