Java中RuntimeException和其他异常有何区别?

213 阅读1分钟

初学Java的时候时常搞不懂RuntimeException和其他Exception有什么本质上区别,只能从书面上的知识点了解到这两个区别是一个需要catch一个不用catch,但是在平时写代码时并没有一个标准去指导我们如何使用这两种异常。

什么时候抛run异常,什么时候抛其他异常呢,在tomcat帮你把所有的异常全都catch的情况下这两者似乎并没有什么区别。

有这样一个说法:如果发生了RuntimeException,那一定是程序的编写问题。在此基础上,或许可以说:RuntimeEcception发生于 输入数据与程序设计不兼容的情况下,即输入数据中包含了程序不考虑的异常情况

比如说,前端新建用户传来的用户名为空,在后端程序设计上根本不会考虑用户名为空的情况,因为这种数据在前端就会被阻止下发。所以就会出现空指针异常。