在java中使用assert和抛出AssetionError异常之间的区别

Rob*_*lex 5 java exception-handling exception

要进行内部逻辑检查,Java有两种方法,

  1. 使用assert关键字:例如,assert(x> y) ;
  2. 手动抛出断言错误:例如,if(y> x)抛出新的AssertionError();

上述两种方法有何不同(性能方面,编程灵活性等等?哪一种被认为是一种优秀的编程实践?

Per*_*ion 9

assert除非明确启用断言(通过-ea选项java或以编程方式),否则主要区别在于无法保证处理.另一方面,扔一个new AssertionError()遗嘱总是有效的.

一些阅读信息:使用断言编程