trap negative dimensions passed to array constructor