Throw exceptions to prevent false positives

Returning false on error from a condition did not prevent matching !COND
Handle failed ItemAttribute lookups

Item code "bet" (and maybe others) would cause sporadic crashes.