Mercurial > projects > dstress
view run/t/throw_07_B.d @ 1613:70a23cb6a616
Fix incorrect run.t.throw_07_A/B tests
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 10 May 2009 12:10:34 +0200 |
parents | b8c0195059d9 |
children |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // @author@ <mclysenk@mtu.edu> // @date@ 2006-05-11 // @uri@ http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.bugs&artnum=7180 module dstress.run.t.throw_07_B; int status; class XException : Exception{ this(char[] msg){ super(msg); } } class Tester{ this(void function() dg_){ if(status++ != 0){ assert(0); } dg = dg_; } void function() dg; void test() { if(status++ != 1){ assert(0); } dg(); assert(0); } } void foo(){ try{ if(status++ != 2){ assert(0); } throw new XException("test2"); assert(0); }catch(XException e){ if(status++ != 3){ assert(0); } throw e; assert(0); }finally{ if(status++ != 4){ assert(0); } } assert(0); } int main(){ Tester t = new Tester(&foo); try{ t.test(); assert(0); }catch(XException e){ if(status++ != 5){ assert(0); } }finally{ if(status++ != 6){ assert(0); } } if(status != 7){ assert(0); } return 0; }