JAVA异常(exception)处理
异常:程序运行的结果报告发生了算数异常,系统执行不下去,提前结束,这种情况就是所谓的异常。
一、捕捉异常的方法
1、try{}catch{}
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 } //把可能发生异常的语句放在try { ... }中,然后使用catch捕获对应的Exception及其子类。
2、throws和throw
区别:throws用于方法的标签上,throw用于方法中
抛出异常思路:当不知道如何解决异常时候时候,由异常方法的上一级调用者解决,如果上一级无法解决,再往上抛,如果最终于main方法也无法解决,该异常由JVM处理
注意:使用throw hrows抛出异常之后,该异常希望它的调用者解决异常,它的调用者要么捕获异常,要么继续抛出。
二、声明自定义异常
步骤:
自定义的异常类要继承Exception;如果希望自定义运行期异常,则应该继承RuntimeException。继承时候需要一个无参构造器和有参(字符串参数的构造器),有参构造器中字符串就是异常的字符描述(getMessage()的返回值)。
(1)、创建自定义异常类
(2)、在方法中通过throw关键字抛出异常对象
(3)如果在当前抛出异常的法法中处理异常,可以使用try—catch语句块捕获并处理,否则在方法的声明除通过throw关键字指明抛出给方法调用者的异常,继续下一步异常。
三、异常链
Catch和throw配合使用,catch块捕获真实的异常,使用p.printStackTrace(PrintStream)方法把异常打印到指定输出流中,然后使用throw重新抛出一个异常,这种处理方式被称为异常转译。好处:对于普通用户来说,这些异常对他们来说没有任何帮助;对于恶意用户来说,把异常暴露出来不安全。
四、异常方法
下面的列表是 Throwable 类的主要方法:
下一篇:
浅谈数据在内存中的存储