zoukankan      html  css  js  c++  java
  • java——关于异常处理机制的简单原理和应用

    异常处理机制的简单原理和应用

     一、Execption可以分为java标准定义的异常和程序员自定义异常2种

    (1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查。

    例如 int i = 2 / 0 或者 String str = null;str.length();

    (2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。

    例如 Exception ex = new Exception("这是我自定义的异常信息");throw ex;

    所有的异常都是Thowable的子类。

    异常处理是与程序执行是并行的。

    Try{
    
        //可能发现异常的语句块
    
    }catch(异常类型,e){
    
       //发生异常时候的执行语句块
    
    } finnally{
    
      //不管是否发生异常都执行的语句块
    
    }

    二、异常的处理方式

    包括捕获异常和上抛异常

    1、捕获异常

    以捕获 int i=2/0 为例

              try {
                int i = 2 / 0;
    
            } catch (Exception ex) {// 所有异常的父类Exception
                ex.printStackTrace();
                // 处理异常
                System.out.println("异常信息:" + ex.getMessage());
            }
    
             finally {
                System.out.println("释放资源,后续代码,一定要执行的代码");
            }
            System.out.println("继续运行");

    输出结果为

    ex.printStackTrace()表示向控制台打印详细异常信息

    2、上抛异常 throws

    以 String str =null;

        str.length();(未实例化)为例

    package test;
    
    import com.hanqi.ThrowEX;
    
    public class Test {
        public void test() throws Exception { //用throws
            String str = null;
            str.length();
        }
    
        public static void main(String[] args) {
            ThrowEX te = new ThrowEX();    //用throw
            try {
                te.test();
            } catch (Exception e) {// TODO 自动生成的 catch块
                e.printStackTrace();
                System.out.println("异常信息为" + e.getMessage());
            }
    
        }
    }

    e.printStackTrace()表示向控制台打印详细异常信息

  • 相关阅读:
    linux 命令——48 watch (转)
    linux 命令——47 iostat (转)
    linux 命令——46 vmstat(转)
    linux 命令——45 free(转)
    linux 命令——44 top (转)
    linux 命令——43 killall(转)
    linux 命令——42 kill (转)
    linux 命令——41 ps(转)
    linux 命令——40 wc (转)
    Java for LeetCode 068 Text Justification
  • 原文地址:https://www.cnblogs.com/Chenshuai7/p/5044891.html
Copyright © 2011-2022 走看看