java非运行时异常有哪些?java异常怎么办?

在java运行的时候,总会出现一些异常,非运行时异常:就是RuntimeException之外的所有异常。对于该类异常,Java编译器强制要求程序员使用try-catch进行捕获,否则编译失败。那java非运行时异常有哪些?下面来我们就来给大家讲解一下。

java非运行时异常有哪些.png

常见的非运行时异常(即检查异常,checked exception)包括:

1. 操作数据库异常:SQLException

2. 输入输出异常:IOException

3. 文件未找到异常:FileNotFoundException

4. 反射操作异常:ReflectiveOperationException

5. 类未找到异常: ClassNotFoundException

6. 方法未找到异常:NoSuchMethodException

7. 字段未找到异常:NoSuchFieldException

8. 非法访问权限异常:IllegalAccessException

9. 实例化异常:InstantiationException

10. 不支持克隆异常:CloneNotSupportedException

11. 被中止异常:InterruptedException

java异常怎么办?

在java中,有一组关键字被用来进行异常的捕捉,它就是try-catch-finally。代码如下所示:

try
{
    // 尝试执行的可能会抛出异常的代码
}
catch (异常类型1 异常的变量名1)
{
    // 当异常抛出时,根据异常的类型和变量名执行对应的catch语句
    //catch语句用来捕获异常。
}
catch (异常类型2 异常的变量名2)
{
    // 程序代码
}
finally
{
    // 不管最终如何,一定要执行的语句,一般做清理类型等收尾善后性质的工作
    //finally不是必要出现的
}

此外,还有一组关键字被用来抛出异常,它就是throws/throw关键字:

如果一个方法没有捕获一个可查异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。

也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。

下面方法的声明抛出一个 RemoteException 异常:

import java.io.*;
public class className
{
    public void deposit(double amount) throws RemoteException
    {
        // Method implementation
        throw new RemoteException();
    }
    //Remainder of class definition
}

一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。

例如,下面的方法声明抛出 RemoteException 和 InsufficientFundsException:

import java.io.*;
public class className
{
    public void withdraw(double amount) throws RemoteException
        , InsufficientFundsException
        {
            // Method implementation
        }
    //Remainder of class definition
}

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的,只要大家找到正确的方法就能够避免,并且遇到异常也有解决方法,所以大家遇到异常不要紧张!最后大家如果想要了解更多java常见问答知识,敬请关注奇Q工具网。

推荐阅读:

redis怎么查询有哪些数据库?redis有哪些数据类型?

javaidea怎么更换背景颜色?javaidea插件如何安装?

struts代码里怎么添加背景?struts代码是如何工作的?