zoukankan      html  css  js  c++  java
  • java异常捕获以及处理

    1  异常的基本概念

     异常是导致程序中断的一种指令,如果出现异常不处理,会导致程序中断,所以,在程序中很有必要考虑各种可能会出现的异常,并做好相应的处理,这样才能保证程序的正常运行。如果产生异常,则异常之语句并不会执行,而是直接结束程序,而将错误直接报告给客户,给客户造成不好的体验。

    2 异常处理的基本格式try-catch,try中捕获异常,catch中处理异常。

    try中捕获异常,出现异常之后的代码将不会执行,而是直接到catch中执行。

    3 异常的继承关系

    在java异常结构中,有两种常见的异常类,Exception和Error,其都在Throwable的子类。

    Exception一般表示程序中出现的问题,可以用try-catch捕获异常进行处理。

    Error一般指JVM错误,程序中无法处理。

    4 java异常处理机制

    在整个异常处理中,实际上是按照面向对象的思想来处理的,处理步骤如下:

    1 一旦产生异常,首先会产生一个异常类的实例化对象。

    2 在try语句中异常对象进行捕捉。

    3 产生的异常对象和catch中的各个异常类型进行匹配,如果匹配成功,执行catch中的代码,否则就是JVM默认的处理方式。

    根据对象的多态性,子类的实例化对象可以直接使用父类的对象进行接收。

    在异常的处理中,try中产生一个异常实例化对象,如果现在有一些不知道的其他异常,则可以用Exception进行捕获。

    在这里有一个问题,既然所有的异常都可以用Exception进行接收,那么直接用Exception直接捕获异常不是更方便吗?

    虽然这样可以处理所有的异常,但是在开发者最好不要这样,因为这样只知道发生了异常,并不知道发生了什么具体的异常,这个具体可能会产生什么异常,在今后的开发文档中会标注的。

    这里有出现一个问题,既然可以向上转型,为什么不直接用其父类Throwable?

    首先这样的想法是可以的,因为Exception是Throwable的子类,满足向上转型的要求,但是Throwable还有另一个子类Error,而程序的try语句只会抛出Exception的子类对象,所以用Exceptiob处理统一的捕获。

    1  程序出现异常后,入伙没有合理的处理方式,会导致程序的中断执行。

    2 使用try-catch和try-catch-finally

  • 相关阅读:
    asp结合swf外调代码
    loadMovie与loadMovieNum区别
    行业常用名词及缩写定义
    用javascript 控制跳转页面
    jdk源码整数和字符串间的转换
    动态代理动态生成java文件并编译成class文件
    JDK源码分析——动态代理源码(Proxy类)
    策略模式与工厂模式比较
    Java编程:常见问题汇总
    工厂方法与抽象工厂的区别
  • 原文地址:https://www.cnblogs.com/wrkjwl/p/9599611.html
Copyright © 2011-2022 走看看