同1楼,一个是语法错误,是编译时错误。 这种错误 IDE帮你就会找出来。根本不会让你编译通过。也不需要所谓的异常 一个是运行时错误,是不可预知的程序异常。 你认为的可能出错,其实说白了,就像你读取数据给a变量。然后a.ToString() 但是你不能确定数据库是否有数据,网络是否通畅等等原因。那么可能会造成 a=null。自然而然就可能发生空引用的错误了
你问的这些问题 就是把 语法错误(编译错误) 和 异常(运行期错误) 搞混了 回去看书重修吧
这么说吧楼主,对异常这块有困惑很正常,在这行干8年以上的绝大部分程序员也仅仅是知道语法,而并不清楚该在什么场景下使用,而且java的异常使用也是见仁见智,一个人一个看法。 你说的第一点说对了一半,在知道某段代码可能出问题的情况下,如果你对代码进行优化处理,确实能避免异常的产生,这当然不需要写try catch,而如果确实有情况无法处理,这样就要try catch,做记录后上抛到顶层统一处理,并终止业务逻辑以防止更大的问题产生。
23,404
社区成员
70,593
社区内容
加载中
试试用AI创作助手写篇文章吧