• J2SE 断言 [Assert]


    TestAssertion.java

    代码:

    /**
     * 断言 [Assert]
     *  从jdk1.4版本开始,java语言中引入了断言 [Assert]
     *  机制,允许java开发者在代码中加入一些检查语句,主要用于程序调试目的:
     *
     *   1、断言机制在用户定义的boolean表达式 [判定条件]结果为false时抛出一个Error对象,其类型为AssertionError
     *
     *   2、当我们需要在约定的条件不成立时中断当前操作的话,可以使用断言;
     *  
     *   3、作为Error的一种断言失败也不需要捕获处理或申明抛出,一旦出现了则终止程序,不必进行补救和恢复;
     *
     *  启用胡禁用断言
     *   开启断言功能:
     *    java运行时环境默认设置为关闭断言功能,因此在使用断言以前,血药在运行java程序时开启断言功能;
     *
     *    java -ea MyApClass
     *    或者:
     *    java -enableassertions MyAppClass
     *  
     *   关闭断言功能:
     *    java -da MyAppClass
     *    或者:
     *    java -disableassertion MyAppClass
     *   
     *
     *
     *
     */
    package com.b510.examples.断言.action;

    /**
     * @author Hongten
     *
     * @time 2011-8-11 2011
     */
    public class TestAssertion {

     /**
      * @param args
      */
     public static void main(String[] args) {
      new TestAssertion().process(-12);
      new TestAssertion().message(-2);

     }

     public void process(int age) {
      assert age >= 0;
      System.out.println("你的年龄是: " + age);
     }

     public void message(int age) {
      assert age >= 0 : "年龄超出合理范围!";
      System.out.println("你的年龄是: " + age);
     }

    }

    ***************************Hongten************************

    运行效果:

    ***************************编译************************
    E:\test\worksplace\断言>javac TestAssertion.java

    ***************************默认执行************************

    E:\test\worksplace\断言>java TestAssertion
    你的年龄是: -2
    你的年龄是: -12

    ***************************开启断言************************

    E:\test\worksplace\断言>java -ea TestAssertion
    Exception in thread "main" java.lang.AssertionError: 年龄超出合理范围!
            at TestAssertion.message(TestAssertion.java:14)
            at TestAssertion.main(TestAssertion.java:3)

    ***************************开启断言************************

    E:\test\worksplace\断言>java -enableassertions TestAssertion
    Exception in thread "main" java.lang.AssertionError: 年龄超出合理范围!
            at TestAssertion.message(TestAssertion.java:14)
            at TestAssertion.main(TestAssertion.java:3)

    ***************************关闭断言************************

    E:\test\worksplace\断言>java -da TestAssertion
    你的年龄是: -2
    你的年龄是: -12

    ***************************关闭断言************************

    E:\test\worksplace\断言>java -disableassertions TestAssertion
    你的年龄是: -2
    你的年龄是: -12

  • 相关阅读:
    大规模web服务读书笔记 狼
    MVC3如果虚拟目录中有点号,会导致静态文件404 狼
    CDN服务商和CDN常见问题 狼
    中文字段名,问题根源查询无聊话题。 狼
    NET下Session共享的几种实现方式 狼
    企业应用架构读书笔记与总结 狼
    Redis简单本机测试 狼
    你是否经历过这些,求如何继续才能提升 狼
    WinDbg配置和使用基础
    Python IDLE入门
  • 原文地址:https://www.cnblogs.com/hongten/p/2134836.html
Copyright © 2020-2023  润新知