编译异常和异常处理

举报
周小末天天开心 发表于 2022/12/31 16:54:41 2022/12/31
910 0 0
【摘要】 编译异常介绍编译异常是指在编译期间,就必须处理的异常,否则代码不能通过编译常见的编译异常1)SQLException //操作数据库时,查询表可能发生异常2)IOException //操作文件时,发生的异常3)FileNotFoundException //当操作一个不存在的文件时,发生异常4)ClassNotFoundException //加载类,而该类不存在时,出现异常5)EOFEx...

编译异常

介绍

编译异常是指在编译期间,就必须处理的异常,否则代码不能通过编译

常见的编译异常

1)SQLException //操作数据库时,查询表可能发生异常

2)IOException //操作文件时,发生的异常

3)FileNotFoundException //当操作一个不存在的文件时,发生异常

4)ClassNotFoundException //加载类,而该类不存在时,出现异常

5)EOFException //操作文件,到文件末尾,发生异常

6)IllegalmentException //参数异常


import java.io.FileInputStream; 
import java.io.IOException; 
public class Exception02 { 
    public static void main(String[] args) { 
        try {
        FileInputStream fis; 
        fis = new FileInputStream("d:\\aa.jpg"); 
        int len; while ((len = fis.read()) != -1) { 
        System.out.println(len); 
        } fis.close(); 
        } catch (IOException e) { 
        e.printStackTrace(); 
        } 
    } 
}

异常处理

介绍

异常处理就是当异常发生时,对异常处理的方式。

异常处理的方式

(1)try-catch-finally

在代码中捕获发生的异常,自行处理。

(2)throws

将发生的异常抛出,交给调用者(方法)来处理,最顶级的处理者就是JVM。

try-catch 异常处理

说明

(1)Java提供try和catch块来处理异常,try块用于包含可能出错的代码,catch块用于处理try块中发生

的异常。可以根据需求在程序中创建多个try-catch块。

(2)基本语法

try{
    //可疑代码
    //将异常发生成对应的异常对象,传递给catch块
}catch(异常){
    //对异常的处理
    }
    //如果没有finally,语法是可以通过的
   

try-catch 方式处理异常-快速入门

代码:

public static void main(String[] args) {
    int num1 = 10; 
    int num2 = 0; 
    try { 
    int res = num1 / num2; 
    } catch (Exception e) { 
    System.out.println(e.getMessage()); 
    } 
}

try-catch 方式处理异常-注意事项

(1)如果异常发生了,则异常发生后面的代码不会执行,直接进入到catch块

(2)如果异常没有发生,则顺序执行try的代码块,不会进入到catch

(3)如果希望不管是否发生异常,都执行某段代码(比如关闭连接,释放资源等)则使用如下代码


    try { 
    int a = Integer.parselnt(str);
    System.out.println("数字" + a);
    } catch (Exception e) { 
    e.printStackTrace();
    } finally {
    System.out.println("不管是否发生异常,都始终执行代码"); 
    } 
}

代码;

public class TryCatchDetail { 
    public static void main(String[] args) { 
    //ctrl + atl + t 
    //1. 如果异常发生了,则异常发生后面的代码不会执行,直接进入到 catch 块 
    //2. 如果异常没有发生,则顺序执行 try 的代码块,不会进入到 catch 
    //3. 如果希望不管是否发生异常,都执行某段代码(比如关闭连接,释放资源等)则使用如下代码- finally       try { 
    String str = "周小末"; 
    int a = Integer.parseInt(str);
    System.out.println("数字:" + a); 
    } catch (NumberFormatException e) { 
    System.out.println("异常信息=" + e.getMessage()); 
    } finally { 
    System.out.println("finally 代码块被执行..."); 
    } 
    System.out.println("程序继续..."); 
    } 
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。