35 lines
		
	
	
		
			586 B
		
	
	
	
		
			ChaiScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			586 B
		
	
	
	
		
			ChaiScript
		
	
	
	
	
	
auto results = [];
 | 
						|
 | 
						|
for (auto 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 {
 | 
						|
  throw(3)
 | 
						|
}
 | 
						|
catch(e) : e < 3 
 | 
						|
{
 | 
						|
  // Should never get called
 | 
						|
  assert_equal(false, true);
 | 
						|
}
 | 
						|
catch {
 | 
						|
  results.push_back("defaultcatch");
 | 
						|
}
 | 
						|
 | 
						|
assert_equal(["c2: 2", "c2: 3", "c3: 4", "c3: 5", "defaultcatch"], results);
 |