java异常

Posted bestefforts

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java异常相关的知识,希望对你有一定的参考价值。

Java异常是什么?

Java异常是Java提供的一种识别及响应错误的一致性机制。java为常见的错误设计了异常类,可以在遇到问题时被捕捉,方便debug.

异常类层次结构

+Throwable
+Error
+Exception
+IOException
+RuntimeException

典型异常

1.Exception中除RuntimeException外的子类 检查性异常:错误的操作引起的异常,如打开不存在的文件.编译器会检查它.
2.RuntimeException 运行时异常:编译器不会检查运行时异常,1/0可以通过编译.
3.错误: 资源不足,约束失败,或无法继续运行等,产生错误.

异常捕捉语法

try
    ...
catch(Exception e)
    ...
finally
    ...

首先执行finally中的语句,后执行catch中的returb语句.

throw关键字

throws是用于声明抛出的异常,而throw是用于抛出异常。

class MyException extends Exception 
    public MyException() 
    public MyException(String msg) 
        super(msg);
    

public static void test() throws MyException
    try 
        int i = 10/0;
          System.out.println("i="+i); 
     catch (ArithmeticException e) 
        throw new MyException("This is MyException"); 
    

常见异常

FileNotFoundException文件不存在异常,编译错误
NullPointerException 空指针异常
ArithmeticException 除数为零
ClassCastException 类型转换异常
OutOfIndexException 数组下标越界异常
ParseException 解析异常,日期字符串转换为日期对象的时候,有可能抛出的异常
OutOfMemoryError 内存不足

我该怎么做?

提早抛出+延迟捕获.
在错误最早发生的位置抛出异常,但让导致该错误发生的位置捕获异常.我们的目的是为了利用异常检测在哪里为什么出错.过早的捕获异常没有意义,且可能导致混淆.

参考资料:
菜鸟教程
how2j教程
知乎
skywang12345

以上是关于java异常的主要内容,如果未能解决你的问题,请参考以下文章

面试Java异常面试题

Java异常

java中 方法中抛出异常处理方法

Java - 异常处理

Java的异常处理语法

Java异常结构