请问java必须捕捉的异常都有哪些

请问java必须捕捉的异常都有哪些?
以前我总不知道什么时候用捕捉,什么时候不用捕捉,所以就都不捕捉了
今天看视频,讲Throwable下边有3个类
Error
Exception
RuntimeExceptio
其中Exception是必须捕捉的,请问这些必须捕捉的,都有哪些?
[img]/upload/attachment/127943/e6043ec7-3139-3f5c-b70a-66bd6c6bffaf.jpg[/img]

JAVA执行过程出现异常,系统会监测到并自动生成一个相应的异常类对象,然后再将它交给运行时系统.
运行时系统再寻找相应的代码来处理这一异常.当JAVA程序找不到可以处理异常的代码,则运行时系统再终止,相应的程序也会终止.
在IDE(ECLIPSE)开发中,如果一个异常必须要捕捉,IDE则会提示你捕捉异常..
不然可以不用特意捕捉吧..

RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。

可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。

它以及它的子类是不用显式捕获的

Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。

在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。

一般都是jvm的严重异常,不用捕获,也没法处理。

Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

如果你的方法没声明throws 异常,那么它必须在方法体内被捕获

Error 是系统错误,可以不用.

Exception 是程序不正确引起异常 要的.

RuntimeException 是 Exception 的子类,是运行时的异常 也要的.

运行时异常可以不用捕捉,其他的异常其实你也可以不用捕捉的吗,你全都往上抛

只要属于Checked Exceptions 都需要捕获。
Unchecked Exceptions 都可以不捕获。

继承自RuntimeException的异常可以不进行try-catch,其他的异常都必须进行try-catch

Error:
1.总是不可控制的(unchecked)
2.经常用来用于表示系统错误或低层资源的错误
3.如何可能的话,应该在系统级被捕捉

Exception:
1.可以是可被控制(checked) 或不可控制的(unchecked)
2.表示一个由程序员导致的错误
3.应该在应用程序级被处理