2
0
Эх сурвалжийг харах

[eval] catch exception on new Vector(tooMuch)

closes #10804
Simon Krajewski 2 жил өмнө
parent
commit
5d55064c91

+ 6 - 1
src/macro/eval/evalEmitter.ml

@@ -94,7 +94,12 @@ let emit_new_array env =
 
 let emit_new_vector_int i p env =
 	if i < 0 then exc_string_p "Vector size must be >= 0" p;
-	encode_vector_instance (Array.make i vnull)
+	let a = try
+		Array.make i vnull
+	with Invalid_argument _ ->
+		exc_string_p (Printf.sprintf "Not enough memory to allocate Vector of size %i" i) p;
+	in
+	encode_vector_instance a
 
 let emit_new_vector exec p env =
 	let i = decode_int_p (exec env) p in