关于Java&Android面试题中时常提到的Java常见的运行时异常。
运行时异常可能是Java虚拟机正常工作时抛出的异常。
Java提出两种异常机制。检查时异常(Checked Exception)和运行时异常(Runtime Exception)。
检查时异常:我们常遇到的IO异常以及sql异常就属于检查时异常。对于这种异常,要求我们必须对出现的这些异常进行catch,所以面对这些异常,不管我们愿意与否,只能自己写一堆catch来捕获这些异常。
运行时异常:我们可以不作处理。当出现这种异常时,总是由虚拟机接管。比如我们从来没有人去处理过NullPointerException异常,它就是运行时异常,而且它还是最常见的异常之一。
RuntimeException在java.lang包下,下面是由虚拟机提供的运行时异常:AnnotationTypeMismatchException,
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, EnumConstantNotPresentException, EventException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IncompleteAnnotationException, IndexOutOfBoundsException, JMRuntimeException, LSException, MalformedParameterizedTypeException, MirroredTypeException, MirroredTypesException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NoSuchMechanismException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, RejectedExecutionException, SecurityException, SystemException, TypeConstraintException, TypeNotPresentException, UndeclaredThrowableException, UnknownAnnotationValueException, UnknownElementException, UnknownTypeException, UnmodifiableSetException, UnsupportedOperationException, WebServiceException那么,哪些是我们常见的异常呢?
ClassCastException(类转换异常)
IndexOutOfBoundsException(数组越界异常)
NullPointerException(空指针异常)
ArrayStoreException(数据存储异常,操作数组时类型不一致)
还有IO操作的BufferOverflowException异常。