zoukankan      html  css  js  c++  java
  • 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: 自定义异常

  • 相关阅读:
    动画Animation
    ListView配合BaseAdapter
    ListView 搭配SimpleAdapter
    内部类以及内部接口的实例化
    SAP FI模块常用事务代码
    java随机生成字符串和校验
    JAVA版exe可执行加密软件
    微信小程序实现类似JQuery siblings()的方法
    微信小程序实现给循环列表点击添加类(单项和多项)
    微信小程序如何动态增删class类名
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5843340.html
Copyright © 2011-2022 走看看