java中Error和Exception用法上有什么区别,Error是怎么回事?
顺便提一句, 和Exception 相对应的,还有Error,Error(错误)表示系统级的错误和程序不必处理的异常,是JRE(java运行环境)的内部错误或者硬件问题,比如,另外 某一处地方的bug引起的内存溢出,内存资源不足等,OutOfMemoryError,对这类错误,程序基本无能为力,比如下例中,catch不被执行 (其实虚拟机是有能力执行的,否则finally为什么被执行?但就是这原则,意味着,程序员们不要试图在catch中做什么,你做了, 我也不执行,因为是Error,而不是Exception)只能退出。
例:
public class Test {
/* maxMemory将返回java虚拟机所能返回的最大可用内存。0.92可以, 0.93就报错 */
int size_Make_to_win = (int) (Runtime.getRuntime().maxMemory() * 0.93);
public void allo() {
byte[] data1 = new byte[size_Make_to_win];
}
public static void main(String[] args) {
Test t = new Test();
try{
t.allo();
}
catch(Exception e)
{
System.out.println(e+"qqq");
}
finally
{
System.out.println("in finally");
}
}
}
更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44639795/article/details/101302017