• 异常throws关键字 异常throw关键字


    throws关键字

    class Math{
        public int div(int i,int j)throws Exception{   //throws Exception声明的方法不对此类异常进行处理,而由该方法的调用者负责处理
            int temp=i/j;
            return temp;
        }
    }
    public class seven4{
        public static void main(String[] args){
            Math m=new Math();
            try{
                System.out.println("除法操作:"+m.div(10,2)); 
            }
            catch(Exception e){
                e.printStackTrace();    //打印异常
            }
        }
    }

    throw关键字

    java中还可以直接使用throw关键字人为抛出一个异常,人工抛出异常的格式:

      throw 异常类对象;    ---被抛出的必须是Throwable或其子类对象

         IOException e=new IOException();

         throw e;      

       程序执行throw语句后立即终止,然后在包含它的所有try块中从里向外寻找含有与其类型匹配的catch子句。

    public class ThrowDemo1{
        public static void main(String args[]){
            try{
                throw new Exception("自己抛着玩的。") ;    //抛出时直接抛出异常实例化对象即可
    
            }catch(Exception e){
                System.out.println(e) ;
            }
        }
    }

    自定义异常类

    虽然Java的内置异常处理能够处理大多数常见错误,但用户仍需建立自己的异常类型来处理特殊情况。这时可以通过创建Exception的子类来定义自己的异常类。

    格式:class 类名 extends Exception{

         … …

         }

    class MyException extends Exception{
        MyException(String str){  //在定义异常类时一般需要定义构造方法接收异常信息,该信息可由父类的构造方法传入。
            super(msg);
        }
    }

    系统定义的异常,在程序中遇到时是由系统自动抛出的,但是 在抛出自定义异常时,需要用户使用throw语句自己抛出,其格式 如下:

        throw new 自定义的异常类类名([参数列表]);

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

  • 相关阅读:
    (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device【转】
    Linux 内核虚拟地址到物理地址转换讨论【转】
    【Go命令教程】6. go doc 与 godoc
    【Go命令教程】5. go clean
    【Go命令教程】4. go get
    PHP项目收藏
    【Go命令教程】3. go install
    分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验
    【Go命令教程】2. go build
    【Go命令教程】1. 标准命令详解
  • 原文地址:https://www.cnblogs.com/l666/p/9657399.html
Copyright © 2020-2023  润新知