【发布时间】:2014-02-12 04:02:50
【问题描述】:
我知道 javac 强制程序员处理需要由方法抛出或使用 try-catch/finally 处理的检查异常。而且它不会阻止程序员抛出未经检查的异常。
我也知道我们为什么要 try-catch/finally 并理解为什么 java 会检查某些异常集。
但我无法理解以下内容:
Q1) 为什么方法应该“抛出”异常。我们从中得到什么好处?我认为,无论是方法抛出还是使用“抛出”不抛出,同样的事情正在发生!!!
Q2) 当方法“抛出”异常时内部会发生什么?
Q3)我认为“错误”与“异常”的分类不同,只是为了突出它们,因为“当它们发生时,程序员方面不会做太多事情”,但我们可以“抛出”“try-catch” /finally" 对它们像往常一样,其他一切也与 "Exception"*s 相同。如果我错了,请纠正我。
请帮助我。提前谢谢你。
【问题讨论】:
-
异常允许更好的接口来处理错误,如果你不抛出异常,你将不得不依赖让函数返回错误值的旧方法,这种方法效率不高,因为代码需要检查函数的返回值以查看是否发生错误。当错误发生时引发异常时,它会更清楚,因为它可以以不同的方式处理。