digitalmars.D.learn - throwing a RangeError in non-release mode
- Steven Schveighoffer (7/7) Jul 02 2010 When not in release mode, accessing an out-of-bounds element in an array...
- Simen kjaeraas (12/19) Jul 02 2010 Untested code. Also, horrible:
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? -Steve
Jul 02 2010
Steven Schveighoffer <schveiguy 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
Jul 02 2010