• 04-Java 异常


    1、认识异常:异常是导致程序中断运行的一种指令流,如果不对异常进行正确处理,则可能导致程序的中断执行,造成不必要的损失。

      int a=10;

      int b=0;

      int temp=a/b;

      System.out.println(temp);

    2、处理异常

      格式:try{    异常语句  }

            Catch(Exception e) { }

            Finally { 一定会执行的代码 }

    3、常见异常:

    (1)数组越界异常:ArrayIndexOutOfboundsException

    (2)数字格式化异常:NumberFormatException

    (3)算数异常:ArithmeticException

    (4)空指针异常:NullPointerException

      class Exc{
          int a=10;
          int b=10;
      }
    public static void main(String[] args) {
            int temp =0;
            Exc e=null;
            e=new Exc();
            try {
               temp=e.a/e.b;
              System.out.println(temp);
           } catch (NullPointerException e2) {
               System.out.println("空指针异常:"+e2);
           }catch (ArithmeticException e2) {
               System.out.println("算数异常:"+e2);
           }finally{
               System.out.println("程序退出。");
           }

    结果: 1

    程序退出。

    把第三行注释掉:结果:空指针异常:java.lang.NullPointerException

    程序退出。

    把b=10改为0,结果是:

    算数异常:java.lang.ArithmeticException: / by zero

    程序退出。

    4、throws关键字:

         在定义一个方法时,可以使用throws关键字声明,表示该方法不处理异常,抛给方法的调用者处理。

    格式:public void tell ()  throws Exception {}

    5、throw关键字:抛出一个异常,抛出的时候直接抛出异常类的实例化对象即可。

    public static void main(String[] args) {
            try {
                throw new Exception("实例化异常对象");
            } catch (Exception e) {
                System.out.println(e);

    结果:java.lang.Exception: 实例化异常对象

    6、自定义异常:有些异常比较难找,这时自定义异常发挥作用。

    直接继承Exception就可以完成自定义异常。

    class MyException extends Exception{
        public MyException(String msg)  {
            super(msg);
        }
    }
    
    public class ExceptionDemo02 {
        public static void main(String[] args) {
            try {
                throw new MyException("自定义异常");
            } catch (MyException e) {
            System.out.println(e);
    

    结果:com.jike.exc.MyException: 自定义异常

  • 相关阅读:
    Beta冲刺 (6/7)
    Beta冲刺(5/7)
    Beta 冲刺 (4/7)
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    java 常用设计模式及Spring中应用了哪些设计模式
    java 八大排序算法
    记录java学习计划及相关工作中用到的技术/工具
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5843340.html
Copyright © 2020-2023  润新知