• 异常


    (1)异常的产生原因

    异常处理:就是指程序出现问题时依然可以正确的执行完程序。

    (2)异常处理格式

    try

    {

     可能出现异常的语句

    }catch(异常类  异常对象)

    {

     异常处理

    }

     

    try{}catch(){}finally{}

    (3)异常

    ArithmeticException 表示数学异常,及当被除数为0时出现的异常。

    通过异常处理可以控制程序的正确完结。

    (4)异常处理流程

    java中,每当程序中出现了异常,实际上都是产生了一个异常类的实例化对象,这种处理格式实际上非常类似方法传参,只要参数类型匹配了,则就可以使用此catch进行处理。

    实际上异常处理的最大父类:Throwable,但是一般开发中不会使用此种方式处理,因为其下有两个子类:

    ErrorError一般表示JVM错误,与程序无关。

    Exception:一般指的是程序中的错误,一般开发中如果要想进行程序的处理,基本用此类表示。

    一般来讲在程序捕获的时候不要出现Throwable,因为表示的范围太大了。

    捕获更细的异常要放在捕获更粗的异常之前

     

     

     

    (5)throws关键字

    throws关键字表示在方法中不处理异常,而交给被调用处处理异常。

    如果在主方法处使用了throws关键字的话,则所有的异常交给JVM进行处理

    (6)throw关键字

    在程序中可以使用throw关键字人为地抛出一个异常。

     

     

    RuntimeException

    public  static  int  parseInt(String  s)throws  NumberFormatException

    其中NumberFormatExceptionRuntimeException的子类,那么也就是说只要是RuntimeException的异常对象,虽然使用了throws,但是在程序中也可以不使用try......catch进行处理。

    (2)自定义异常

    一个类只要继承异常则就成为异常类。

    class MyException extends Exception{ // 自定义异常

           public MyException(String msg){

                  super(msg) ;

           }

    };

    public class ExceptionDemo13{

           public static void main(String args[]){

                  try{

                         throw  new MyException("自定义异常。") ;

                  }catch(Exception e){

                         e.printStackTrace() ;

                  }

           }

    };

    (3)assert关键字

    assert关键字表示断言,判断某值是否是

    public class ExceptionDemo14{

           public static void main(String args[]){

                  int i = 10 ;

                  assert i==110:"值错误!" ;///其中"值错误"是自己定义的

           }

    };

    如果要想验证程序,则需要在执行时加入参数

    java  -ea  ExceptionDemo14

  • 相关阅读:
    poj2187 Beauty Contest 旋转卡壳
    2017/8/6 考试吐槽
    bzoj2618 凸多边形 半平面交
    cogs1600 奶牛冰壶 计算几何
    cogs896 圈奶牛 凸包
    cogs1743 忠诚 zkw
    BZOJ 3224 普通平衡树 平衡树的两种姿势:SBT,splay。01trie
    BZOJ 3196 二逼平衡树
    BZOJ 1901 Dynamic Rankings
    BZOJ 4325[NOIP2015]斗地主
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1941542.html
Copyright © 2020-2023  润新知