[Java] [Exception]
Posted ArancioneRagazza
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java] [Exception]相关的知识,希望对你有一定的参考价值。
Overview
- 在java编程思想中对异常的定义:阻止当前方法或作用域继续执行的问题。
- 异常相关的知识点并不复杂,主要难点在于实际处理过程中对异常处理的设计。
异常的分类
- java exception分为Error和Exception,这两类都是接口Throwable的子类。具体关系如下图:
- 其中:
- Error仅发生在jvm中,用户无需在程序中捕获或抛出Error。
- Exception分为一般的Exception和RuntimeException两大类。
- checked vs unchecked:
- checked:一般是程序不能直接控制的外界情况,是指在编译时就需要检查的一类Exception,用户程序中必须try catch或者throws。包括除Error和RuntimeException及其子类之外的异常
- unchecked:指的是那些不需要在编译期间就处理的一类异常。不需要try catch等机制处理。
Error
- Error:用于指示合理的应用程序不应该试图捕获的严重问题。
- 比如说VirtualMachineError:当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。该错误就直接交给JVM吧。
Exception
- Exception:它指出了合理的应用程序想要捕获的条件。
- Exception又分为两类:一种是CheckedException,一种是UncheckedException(通常又叫RuntimeException)。这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。
- 常见的RuntimeExcepiton有IllegalArgumentException、IllegalStateException、NullPointerException、IndexOutOfBoundsException等等。
以上是关于[Java] [Exception]的主要内容,如果未能解决你的问题,请参考以下文章
java使用类数组 报错Exception in thread "main" java.lang.NullPointerException
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException。原因是啥?
java virtual machine launcher Error:Could not create the Java Virtual Machine. Error:A Fatal excepti