我刚刚找到
try
{
Thread.sleep(50);
} catch(Exception ex){ }
工作得很好。那为什么我们需要明确提到异常类型?
try
{
Thread.sleep(50);
} catch(InterruptedException ex){ex.printStackTrace();}
答案 0 :(得分:1)
为什么我们明确提到例外类型?
控制我们捕获的异常。不定义的类(或其子类)的异常将传播给调用者。例如,我可以说我将在我的代码中处理IOException
,但如果发生FooBarException
,我会将其留给调用者处理。
我建议您阅读Java exceptions tutorial。
答案 1 :(得分:0)
如果抛出给定类型的异常,或其任何子类,将开始catch
子句。 Exception
不是特殊关键字 - 它是类的名称 - java.lang.Exception
,所有已检查的异常都从该名称继承。如果您想要捕获任何例外,包括未经检查的例外,则可以使用catch (Throwable t)
。虽然注意这不是一个好主意。