java的异常

1.异常

  • 异常:代码执行过程中,参数不正确,规范不正确,都是异常
  • 常见的异常:
  • NullPointerException :空指针异常
  • ArrayIndexOutOfBoundsException :数组下标越界
  • ClassNotFoundException :类未找到异常
  • ClassCastException :类型转换异常

java自身处理异常的流程:如果当前方法出现异常,则去检查当前方法,是否有处理异常,如果没有就抛给调用,调用方不处理一直抛到顶级调用方,如果都没有处理,则抛给jvm,jvm把异常打印出来,结束程序

处理异常:

1.自己处理

//try,catch代码块处理异常,分为单异常处理和多异常处理
//多异常处理是为了,针对每一种异常情况,都有对应解决办法
 try{
      //可以出现出现异常的代码
  }catch(异常类型 变量名){
      //捕获到异常之后的处理方案
 }finally{
     //最终执行,该代码块的内容不管什么情况都会执行
     //注意这里不能写return语句
 }

2.抛给调用方处理,自己不处理

1.throws

	1.提示调用方方法可能会出现哪些异常

	2.它是声明在方法后的

	3.可以声明多个异常

	4.如果是运行时异常,调用方可以选择性处					理,如果是非运行时异常调用方法必须处理

2.throw

2.1当已知业务会出现异常的时候,主动抛出异常给调用方

2.2异常可以使用jdk提供的异常,也可以自己定义异常

2.3如果被调用方,有抛异常的操作,调用方在调用的时候主动try catch

自定义异常:参考其他异常类(自定义一个类,继承异常,把自己加入异常体系)

获取错误的信息从哪里来?

  • 异常类的有构造方法,把错误的信息,一致传递到了Throwable所有异常的基类,最后赋值给了
    Throwable的一个字段
  • 当我们在调用getMessage方法的时候
    Throwable直接把这个字段的值返回给了我们

多线程基础

线程:一个程序运行就会有一个进程,一个进程中至少有一个线程,线程是进程的最小单位

线程又叫做异步线程,线程都是单独各执行各的互不干扰

java中我们把Thread类和Thread的子类称之为线程类,所有我们自己创建线程需要自定义一个类去继承

Thread类让它变成线程类,该线程要做的事情,需要

重写Thread里的run方法。

激活线程:创建线程对象,调用Thread的start方法。

start方法和run()方法的区别:

  • run方法是一个实例方法,跟线程无关
  • start是激活线程

main方法的执行本身也是一个进程,它也有一条线程,我们称为主线程。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值