异常

异常机制

  • 处理程序运行过程中的异常

异常类

java中有许多异常类,例如NullPointException,ArrayIndexOutOfBoundException 等等

异常对象

由异常类创建的对象

编译时异常(受控异常

编译时异常必须在编译阶段处理,但是是在运行时报错

在编译阶段必须处理,具体参考——> 异常的处理方式

运行时异常(未受控异常

在运行时处理

在编写程序阶段不需要对这种异常处理

编译时异常和运行时异常的区别

编译时异常:发生概率较高,可被预测的

运行时异常:发生概率较低

异常的处理方式

  • 异常上抛:在方法声明的位置上使用throws关键字
  • 异常捕捉:使用try-catch 语句进行异常的捕捉

try-catch

  • 所有异常可以用Exception
  • catch写多个的时候,必须遵循从小到大写
try{
    
}catch(Exception e){
    
}
  • 可以用 | 同时处理多个异常

异常对象常用方法

  • getMessage
  • printStackTrace 打印异常堆栈信息

finally 子句

  • 在finally子句中的代码一定会在最后执行执行
  • 保证在try语句出现异常的时候,能够释放资源

特殊try-finally语句

    public static int doDome2(){
        int i =100;
        try{
            return i;
        }finally {
            i++;
            System.out.println(i);
        }
    }// 改方法返回100

自定义异常

  • 自定义类继承Exception或者RuntimeException
class MyException extends Exception{
    public MyException(){
        
    }
    public MyException(String str){
        super(str);
    }
}

注意

  • 重写后的方法不能比重写前的方法抛出更多的异常,可以更少

[图片上传失败...(image-a0a14e-1593517840940)]
image-20200628150058051.png

UML(统一建模语言)

  • 一种图标式语言
  • 用来描述类与类之间的关系,程序的运行过程和运行状态等等
  • 只要是面向对象程序设计语言就有UML
    public static void main(String[] args) throws ClassNotFoundException {
        doSome();
    }
    public static void doSome() throws ClassNotFoundException{

    }
    public static void main(String[] args)  {
        try {
            doSome();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public static void doSome() throws ClassNotFoundException{

    } 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。