why not model.DoesNotExist inherite form Exception?
`DoesNotExist` is not an instance but a class:

```python
isinstance(Model.DoesNotExist, Exception) -- False
issubclass(Model.DoesNotExist, Exception) -- True
```

You catch it like this:

```python
try:
    obj = SomeModel.get(SomeModel.field == 'value')
except SomeModel.DoesNotExist:
    print('obj with field=value does not exist')
```
```
    @asyncio.coroutine
    def get(self, source_, *args, **kwargs):
        """Get the model instance.

        :param source_: model or base query for lookup

        Example::

            async def my_async_func():
                obj1 = await objects.get(MyModel, id=1)
                obj2 = await objects.get(MyModel, MyModel.id == 1)
                obj3 = await objects.get(MyModel.select().where(MyModel.id == 1))

        All will return `MyModel` instance with `id = 1`
        """
        yield from self.connect()

        if isinstance(source_, peewee.Query):
            query = source_
            model = query.model_class
        else:
            query = source_.select()
            model = source_

        conditions = list(args) + [(getattr(model, k) == v)
            for k, v in kwargs.items()]

        if conditions:
            query = query.where(*conditions)

        try:
            result = yield from self.execute(query)
            return list(result)[0]
        except IndexError:
            print(type(model.DoesNotExist))
            print(type(Exception))
            print(isinstance(model.DoesNotExist, Exception))
            raise model.DoesNotExist
```

print(isinstance(model.DoesNotExist, Exception)) # False