、JAVA-异常

时间:2023-03-08 22:18:19

异常

1、种类(error 系统异常,无法处理)(exception 程序异常,可以处理)

  1.算数异常

  2.空指针异常

    原因:对象没有实例化就调用他的实例方法,会造成空指针异常

2、常见异常

  1.RuntimeException      运行时异常

  2.          空指针异常

   3.          运算时异常

3、异常处理机制  (抓抛模型)

  1.抓住异常   ( try ) 

try   //抓住异常(用try运行{}内的代码,如果有问题会被catch抓住)
{
String a = null;
a.trim();      //调用空值异常
}  
catch(Exception b)    //将异常捕获并赋给类b (可以单独捕获特定的异常)(也可以写多个catch对不同的异常进行捕获)
{
System.out.println("捕获异常") //捕获的异常(记录异常信息,储存日志)
  b.printStackTrace()          //把异常信息打印到控制台
}  
finally
{
  内部的代码一定会被执行
}

System.out.println("继续运行")    //处理完后继续运行的程序

    访问文件  file file = new file(“d:a.txt”)   

    使用输入流打开文件  fileInputstream in = new fileInputstream(file);  

  2.抛出异常

    throws  (写在方法名后) 例: public void a()throws Exception

    throw    (写在方法内部,主动抛出异常)      例:public void a()throws Exception

          (一般在方法后加throws,声明抛出的类型)   {

          (除了运行时异常  runtimeException)      if(b==0)

  {throw new Exception()}

                                }

4、用法

  1.getMessage()    获取异常信息

  2.printStackTrace()    向控制台打印堆栈信息

5、自定义异常

  1.必须继承于Exception或他的子类

  2.适用于传递特性的与业务逻辑有关的异常

  3.便于特定异常进行处理