java 注解练习2

2022/5/2 20:13:00

本文主要是介绍java 注解练习2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

package Reflects;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.Method;

public class Demo {
    public static void main(String[] args) throws IOException {
        Calculator cl= new Calculator();
        Class<? extends Calculator> aClass = cl.getClass();
        System.out.println(aClass);
        Method[] methods = aClass.getMethods();
        int number = 0;
        BufferedWriter bf = new BufferedWriter(new FileWriter("./debug.txt"));
        for (Method m : methods){
            //需要测试的方法
            if (m.isAnnotationPresent(Check.class)){
                try {
                    m.invoke(cl);
                }catch (Exception e){
                    number++;
                    bf.write(m.getName()+"异常了");
                    bf.newLine();
                    bf.write("异常名称:"+e.getCause().getClass().getSimpleName());
                    bf.newLine();
                    bf.write("异常原因:"+e.getCause().getMessage());
                    bf.newLine();
                    bf.write("==============================");
                    bf.newLine();
                }
            }
        }
        bf.write("本此共"+number+"个错误");
        bf.close();

    }
}
package Reflects;

public class Calculator {
    @Check
    public void add(){
        System.out.println("2+1="+(2+1));
    }
    @Check
    public void sub(){
        System.out.println("2-1="+(2-1));
    }
    @Check
    public void take(){
        System.out.println("2*0="+(2*0));
    }
    @Check
    public void div(){
        System.out.println("2/0="+(2/0));
    }
    @Check
    public void test(){
        System.out.println("2/0="+(2/0));
    }
    public void adapt(){
        System.out.println("=====");
    }
}

 



这篇关于java 注解练习2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程