Here (https://github.com/rochus-keller/Oberon) is a Qt/C++ based viewer/cross-referencer for Oberon-07 code bases as well as an Oberon to C++/Lua/LuaJIT bytecode transpiler/compiler; an IDE is work in progress.
> How is error handling done in Oberon-07?
There is an Oberon programming language with compiler written in Oberon, and there is an operating system called Oberon as well; you can have a look at the source code, but there are also a couple of free books about it, see http://www.projectoberon.com/
> How does one do generic programming in Oberon-07?
No support for generics yet; there was a proposal in the nineties, but Wirth didn't integrate it. Neither the Go language which is a brain child of Oberon-2 has generics (yet).
> What is Oberon-07's async story
Oberon is single threaded; there is a coroutine library part of the Oakwood standard. But nothing comparable e.g. to Go.