java中异常的处理

//异常分为Error和Exception,它们都继承自Throwable,Error为错误类,是比较严重的,紧靠修改程序本身是不能执行的。
    //Exception类成为异常类,表示程序本身可以处理的错误,在java开发中进行的异常处理都是Exception类及其子类。
    //在Eception类的众多子类中有一个特殊的RuntimeException类,该类及其子类用于表示运行时异常,
    //除了此类,Exception类下所有其他子类都用于表示编译时异常,本节主要针对Exception类及其子类进行讲解
    //Throwable类中的常用方法
    String getMessage()//返回此Throwable的详细消息字符串
    void printStackTrace()//将此Throwable及其追踪输出至标准错误流
    //异常捕获语法为
    try{
      //程序代码块
    }catch(ExceptionType(Exception类及其子类) e){
      //对ExceptionType的处理
      }
      //有时候我们希望有些语句无论程序是否发生异常都要执行,这时就可以在try。。。catch语句后加一个finally代码块
      try{
      //程序代码块
    }catch(ExceptionType(Exception类及其子类) e){
      //对ExceptionType的处理
      }finally{
        //完成必须做的事情
      }
      //如果在try。。。catch中执行了System.exit(0语句)表示退出当前虚拟机


      /**
      *如果调用一个别人写的方法,由于不知道这个方法是否会抛异常,针对这种情况,java允许在方法的
      *后面使用throws关键字对外声明该方法可能发生的异常,语法格式如下
      *
      */
      修饰符 返回值类型 方法名(【参数1,参数2...】)throws ExceptionType1[,ExceptionType2...]{
        //throws后面需要声明方法中发生异常的类型,将这种做法称为方法声明抛出一个异常,此时调用者在调用该方法时必须进行try。。。catch处理,调用该方法时,如果不知道如何处理声明抛出的异常,
        //也可以使用throws关键字继续将异常抛出,但程序一旦发生异常,如果没有被处理,程序就会非正常终止
        //自定义异常
        public class test extends Exception{
          public test(){
            super();//调用Exception无参的构造方法
          }
          public test(String message){
            super(message);//调用Exception有参的构造方法
          }
        }




        public class Example{
          public static void public static void main(String[] args) {
            try{
              int result=divide(4,-2);
              System.out.println(result);
            }catch(test e){
      System.out.println(e.getMessage());
    }


    public static int divide(int x,int y) throws test{
      if(y<0){


        throws new test("被除数是负数");//throws关键字用于在方法声明中抛出异常的示例对象
      }
      int result=x/y;
      return result;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值