java异常的解决方法

java异常的解决方法,第1张

java异常的解决方法

在出现程序错误时,异常有两种抛出方法,一种是直接抛出,另一种是封装再抛出。根据抛出的方式不同,我们有着对应的解决方法。同时,我们也可以主要采取捕捉的方法去搜集这些异常的情况,然后进行批量的处理。下面就异常抛出的两种类型和异常捕捉的处理带来介绍。

1.异常抛出

(1)直接抛出

通常应该捕获那些知道如何处理的异常,将不知道如何处理的异常继续传递下去。传递异常可以在方法签名处使用 throws 关键字声明可能会抛出的异常。

private static void readFile(String filePath) throws IOException {
    File file = new File(filePath);
    String result;
    BufferedReader reader = new BufferedReader(new FileReader(file));
    while((result = reader.readLine())!=null) {
        System.out.println(result);
    }
    reader.close();}

(2)封装再抛出

有时我们会从 catch 中抛出一个异常,目的是为了改变异常的类型。多用于在多系统集成时,当某个子系统故障,异常类型可能有多种,可以用统一的异常类型向外暴露,不需暴露太多内部异常细节。

private static void readFile(String filePath) throws MyException {    
    try {
        // code
    } catch (IOException e) {
        MyException ex = new MyException("read file failed.");
        ex.initCause(e);
        throw ex;
    }}

2.捕获多种异常

public static void main(String[] args) {
    try {
        process1();
        process2();
        process3();
    } catch (IOException | NumberFormatException e) { // IOException或NumberFormatException
        System.out.println("Bad input");
    } catch (Exception e) {
        System.out.println("Unknown error");
    }
}

以上就是关于java异常的解决方法,需要我们明确异常抛出的不同方式,以及主动捕捉多种异常的方法,当异常发生时,这些方法都能有效的处理。‍

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3017663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存