For example, if a thrown exception object has class IllegalArgumentException, that indicates someone passed an illegal argument to a method. Sometimes you will want to indicate that a method encountered an abnormal condition that isn't represented by a class in the Throwable family of java.lang.
Actually, zero is neither a negative or a positive number. The whole idea of positive and negative is defined in terms of zero. Negative numbers are numbers that are smaller than zero, and positive numbers are numbers that are bigger than zero. Since zero isn't bigger or smaller than itself (just like you're not older than yourself, or taller than yourself), zero is neither positive nor negative.
Zero is not nothing! It is a number that stands for nothing, and this is an important distinction. In many ways, zero is the most important of all numbers. When zero is added to or subtracted from a number, it leaves the number at its original value. Zero thus makes negative numbers possible.