跳到主要内容

case_block_not_terminated

'case' 的最后一个语句应该是 'break'、'continue'、'rethrow'、'return' 或 'throw'。

描述

#

case 块中的最后一个语句不是必需的终止符之一时,分析器会生成此诊断:breakcontinuerethrowreturnthrow

示例

#

以下代码会产生此诊断,因为 case 块以赋值语句结尾

dart
void f(int x) {
  switch (x) {
    case 0:
      x += 2;
    default:
      x += 1;
  }
}

常见修复方法

#

添加一个必需的终止符

dart
void f(int x) {
  switch (x) {
    case 0:
      x += 2;
      break;
    default:
      x += 1;
  }
}