java运行时异常和非运行时异常的区别

建议使用运行时异常和编译时异常叫法,便于区分和理解(非运行时异常是什么异常?很懵逼)
编译时异常:程序没有通过编译器的编译,必须处理掉这个异常程序才能正常运行,比如文件路径找不到异常,类找不到异常,IO异常,必须用try…catch或是throwable处理掉才能编译通过;可以理解为一种特殊的语法错误,是一种预处理机制。
运行时异常:程序运行完在控制台中输出的异常(注意此时也有可能打印出编译时异常,如果你在程序中让其打印出的话,你如果不让其打印则打印不出;运行时异常不会受此限制),比如空指针异常,数组越界异常
PS:控制台打印出编译时异常,程序依然往后执行;出现运行时异常程序就崩了,不再往下执行。

猜你喜欢

转载自blog.csdn.net/xiyangyang8110/article/details/80144772