第十二周总结

本文介绍了Java异常处理的基本概念,包括异常的分类、处理方式以及try-catch-finally语句的使用。强调了编译时异常和运行时异常的区别,并通过一个示例展示了如何捕获和处理NullPointerException及RuntimeException。同时,提到了IDEA中查找异常的方法,指出异常处理的独立线程特性,不影响主方法的执行。

第十二周总结

异常处理

1.所有异常都发生在运行阶段的,异常如果不处理就会终止运行,项目中就会使服务器停止运行
2.所有的异常都是一个类,都是继承自Exception

在这里插入图片描述

3.异常是可以处理的,可以进行上抛(throws)和解决(try {}catch{})的。而错误不行,错误会使gvm直接终止运行
4.编译时异常又叫做受控异常(CheckException),受检异常,编译时异常一般发生的概率比较高。对于一些发生概率较高的异常,需要在运行之前对其进行预处理。
5.运行时异常又叫做未受控异常和未受检异常运行时异常一般发生的概率比较低。

try catch

格式
try {
   //尝试执行的代码块
}
catch (异常类型1 异常的变量名1) { 
   //捕获错误的代码块1
}
...
catch (异常类型2 异常的变量名2) {
   //捕获错误的代码块2
}
finally {
   //最终执行的代码块
}
catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个。catch 可以有多个,当所有的 catch 都不满足时,再执行 finally 里的代码。

也就是try必须有一个catch或者Finally与它对应,try和Finally可以单端出现

getMessage() 的作用是拿出异常构造方法中构建时传入的参数
printStackTrace() 的作用是打印异常的详细信息
try里面的异常发生后面的代码不执行,也就意味着当代码段里面有俩处代码异常时,只能捕捉到上面那个异常
public  class Run2
{
    public static void main(String[] args)
    {
        int a=10;
        int b= 1;
        int z;
        String s=null;
        try
        {
             a=10;
             b= 0;
            System.out.println(s.length());
            z=a/b;
        }
        catch (NullPointerException x)//捕捉空指针异常
        {
            String g=x.getMessage();
            System.out.println(g);
        }
        catch(RuntimeException x)//捕捉by zore 异常
        {
            x.printStackTrace();
        }
    }

}

在这里插入图片描述

一个对应的idea查询异常的方法,异常在idea中要自上往下看,蓝色字体对应的就是异常所在处.
异常是单独的线程处理,所以异常不受mian方法影响
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值