var results = [];

for (var i = 2; i < 6; ++i) {
  try {
    throw(i)
  }
  catch(e) : e < 2 {
    results.push_back("c1: " + e.to_string());
  }
  catch(e) : e < 4 {
    results.push_back("c2: " + e.to_string());
  }
  catch(e) {
    results.push_back("c3: " + e.to_string());
  }
  catch {
    // Should never get called
    assert_equal(false, true)
  }
}

try ");
}

assert_equal(["c2: 2", "c2:);
  }
  catch(e) {
    refaultcatch"], results);
