美文网首页
2019-10-11 java assert断言的使用

2019-10-11 java assert断言的使用

作者: V_Jan | 来源:发表于2019-10-11 15:24 被阅读0次

    断言 , java中的关键字是assert

    句法:assert exp1:exp2; 但exp1 为FALSE的时候执行exp2。 主要用于做调试。使用场景比如:你写代码的时候觉得不可能会出现情况A, 那如果出现了(找到bug了),就可以通过断言来通知你, 这种场景中,断言主要用于输出错误信息提醒你。那接下来你就可以调试修改你的bug了。

    断言只有在开启断言模式才起作用, 开启的方式是 java –ea ${programName}, 也就是用带-ea(–enableassertions 的缩写) 运行java程序。有些文章说断言是在debug版本中起作用, 这里的“debug”版本很容易让人误以为是IDE的debug运行模式。其实不是的。

    举例:

    import java.io.IOException;
    
    public class assertAndIf {
        public static void main(String[] args) {
            try {
                System.out.println("Enter a Char:");
                char i = (char) System.in.read();
                assert i == 'y' : "the input is not y"; //如果输入的字符不为y,则输出一条错误信息
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    运行:
    $ javac assertAndIf.java
    $ java -ea assertAndIf
    Enter a Char:
    b
    Exception in thread "main" java.lang.AssertionError: Yout Enter Char is:a
    at assertAndIf.main(assertAndIf.java:8)

    参考:
    https://www.geeksforgeeks.org/assertions-in-java/
    https://blog.csdn.net/My_heart_/article/details/51405263

    相关文章

      网友评论

          本文标题:2019-10-11 java assert断言的使用

          本文链接:https://www.haomeiwen.com/subject/kwotmctx.html