Java中有三种错误:
1.语法错误/编译错误
在IDE(集成开发环境)工具中写代码,代码写错了,在工具中用红波浪线,此代码是不能通过工具进行编译,不能编译就不能执行
2.逻辑错误:
前提是语法没有错误,程序能编译,能运行,但结果是错误的
一般原因是代码螺距写错了,最终结果也是错的
3.运行错误/异常/例外:
前提是逻辑没有错误,但运行期间因为某种原因导致错误程序意外终止
这种错误叫做异常
一定要注意,异常实在运行期间发生的
-
有了异常的直接结果,就是程序终止,这不是程序的目的,所以要处理异常
-
处理异常的目的:
避免程序意外终止 如果出现异常程序不能终止,还要给一个友好提示
程序意外终止,就是程序执行到某一位置的时候就不执行了,jvm就不执行了
-
处理方案:
方案一:用Java代码提供的异常处理机制 try catch finally 方案二用纯Java代码的方式来处理
异常的继承层次:
顶级类:Throwable
Throwable;类只有两个子类:
Error类:不是程序员用的,一般情况下,是jvm使用的,
比如:往U盘里写一个文件.但没有U盘这个设备,异常要抛给jvm来处理
Exception;类是程序员能够写代码处理异常的根类
分为两类:
-免检异常:不是必须添加try catch finally 的,触发了符合的异常,程序是能够编译和执行的,
执行时,程序触发了合适的异常还是意外终止的
RuntimeException 运行时异常...
-必检异常:是必须添加 try catch finally 的,如果不添加.
则会有红波浪线提示,说明程序不能编译和执行
Exception: ....
如何判断异常是免检异常还是必检异常:
如果程序员在写代码的时候,,代码没有错误,但报了红波浪线,
并提示"UNhandled Exception type xxx Exception"
只要提示这句话,那么这是属于必检异常
必检异常必须添加try catch 否则红波浪线不会消失'快捷键
alt +shift+ z来调出代码块的模板