use*_*445 1 java exception-handling try-catch throwable
我是JAVA的新手我准备我的OCP JP认证.
我对异常处理有这个疑问
try{
assert(false):"HI";
}
catch(Throwable e){}
Run Code Online (Sandbox Code Playgroud)
我知道断言不应该被处理,但我只是用它来举例.从我所知的Object-> Throwable - >异常和错误
如果我在catch块中有Throwable或Exception或Error它可以工作但是当我有一个超类的对象时,eclipse会显示编译时错误.
任何我无法在catch块中拥有Object的原因?
只能在Java中Throwable
抛出或捕获类型的对象(包括Exception
和Error
).
throw new Object(); // compiler error
throw new Integer(1); // compiler error
Run Code Online (Sandbox Code Playgroud)
因此,抓住任何旧的都是毫无价值的Object
,因为只有Throwable
s才能被抛出.
引自JLS,第14.20节:
在异常参数类型的表示中使用的每个类类型必须是Throwable类或Throwable的子类,否则会发生编译时错误.
归档时间: |
|
查看次数: |
1403 次 |
最近记录: |