Question: dsolve event handling question, general

dsolve event handling looks like a great tool, but I can't understand how it works and it's not sufficiently popular to google my way to examples online. There are two things I'd like to do: 1) interrupt the computation once some variable leaves a certain range, 2) interrupt the computation if the solver gets stuck into an infinite loop. Both are documented in the help, but I don't understand it. Suggestions welcome, thanks!

The help page gives this syntax:

dsolve(..., numeric, events=eventlist, event_maxiter=miter)

So I tried stuff like this:

dsolve({diff(x(t),t)=x(t), x(0)=.5}, x(t), type=numeric, range=0..10, 

or this:  

or this:


but I get:
Error, (in dsolve/numeric) invalid 'events' specification
Please Wait...