throwing a RangeError in non-release mode
    Simen kjaeraas 
    simen.kjaras at gmail.com
       
    Fri Jul  2 18:25:03 PDT 2010
    
    
  
Steven Schveighoffer <schveiguy at yahoo.com> wrote:
> When not in release mode, accessing an out-of-bounds element in an array  
> throws a RangeError.  I would like to do the same thing in dcollections  
> when indexing, but the only tool I know of that enables throwing an  
> error in non-release mode is assert, and that only throws an assert  
> error.
>
> Does anyone know how to throw an arbitrary exception on an error when  
> not in release mode?
Untested code. Also, horrible:
void throwInNonRelease( T = Exception )( lazy bool test, lazy string msg )  
{
   try {
     assert( test );
   } catch ( AssertError ) {
     throw new T( msg );
   }
}
-- 
Simen
    
    
More information about the Digitalmars-d-learn
mailing list