You might want to filter your sequence before using int.Parse:
var ints = str
.Split()
.Where(x => x.All(char.IsDigit))
.Select(int.Parse)
.ToArray();
char.IsDigit
usually a good option but it allows all digits, not just only latin digits (from 0 to 9), if you want to allow only digits from 0
to 9
here is more preferable way:
var digits = new[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
var ints = str
.Split()
.Where(x => x.All(digits.Contains))
.Select(int.Parse)
.ToArray();