复习篇 异常
异常(exception)
异常:在程序中不是正常运行,发生不正常的事件。叫做异常。
在以前我们可以使用if-else语句去判断。但是if语句去处理异常有很多缺点。
代码肿瘤,加入了大量的异常情况判断。
程序员把更多的精力放在了处理异常代码上,放在了“堵漏洞”上,影响开发效率。
异常处理代码和业务代码写在一起,影响代码的可读性,加大了难维护性。
什么是异常处理
java的异常处理是通过五个关键字来实现的:try,catch,finally,throw ,throws。
try-catch可以捕获异常。catch语句捕获异常。
如果出现异常相应的catch块将会执行。最大的异常是Exception。exception下又有好多子类。
try-catch-finally
这个的作用是什么呢:如果在try中遇见异常try之后的代码就不会走了直接走catch里的代码块了。finally的作用是:不管出现什么情况都会执行,所有可以把想要执行的代码写在这里。
多重catch块,用于解决多个异常。
声明异常----throws:throws可以同时声明多个异常,之间用逗号隔开。
throws声明异常,让上一级调用者处理异常。main()方法声明的异常将由java虚拟机来处理。
throw是负责抛出异常。
throws和throw的区别:
throw用于在程序中抛出异常;throws用于声明在该方法内抛出了异常。
使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。
内容不同:throw抛出一个异常对象,而且只能是一个;throws后面跟异常类,而且可以跟多个异常类。
自我感觉,throws比较常用。
Throwable的子类是:Error和Exception异常
最大的还是Object。throwable就是Object的子类。
Error:表示仅靠程序本身无法恢复的严重错误,如内存溢出动态链接失败,虚拟机错误。
Exception:由java应用程序抛出和处理的非严重错误,如所需文件找不到,网络链接中断或不通。
在进行程序设计时,应该更关注Exception类。