java出现异常程序会终止吗?Java异常怎么处理?

在java开发的过程中,我们总会遇到各种异常程序,比如说文件不存在,打开文件操作就会出现异常等情况。那java出现异常程序会终止吗?下面来我们就来给大家讲解一下。

java出现异常程序会终止,出现异常不处理,程序会终止,程序终止了,系统不能正常运行。

Java异常怎么处理?

java的异常分成三类,分别是:

1.错误Error

这种异常是系统级别的异常,比如说Java虚拟机内存溢出。这种异常在编译时不会出现,在运行时也不会出现,但在使用不当的情况下会出现。比如在java虚拟机最大可使用内存为16m的情况下,不停地给StringBuffer追加字符,这样子内存很快就会被用光,这样就会出现OutOfMemoryError异常。

2.运行时异常RuntimeException

这种异常通常出现在运行时,所以被称为运行时异常。这种异常在编译时不会出现,一旦代码运行,就会出现异常。比如除零操作,这样的代码是可以编译通过的,但在运行的时候就会报错。与除零异常同为运行时异常的还有:空指针异常和下表越界等等。

3.可查异常 CheckedException

这种异常是必须处理的异常。这种异常通常在编译时出现报错,比如之前提到的文件不存在异常。这种异常必须进行处理,否则编译器不会通过编译,而处理方式也就是接下来要介绍的try-catch语句的使用。

异常的处理:

在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工具网。

推荐阅读:

qt如何添加模块?qt添加模块示例

手机json文件怎么编辑?json编辑工具有哪些?

程序员面试流程是什么?面试项目经验怎么写?