processing.runalg() throws "TypeError: catching classes that do not inherit from BaseException is not allowed"

In QGIS 3, use processing.run.

For instance:

QGIS 2.x processing.runalg('gdalogr:convertformat', ...

QGIS 3.0 processing.run('gdal:convertformat', ...


This is not an answer to the original question, but to a follow-up question in a comment ("Also how can I see the list and options of algorithms?").

In QGIS 3, the processing algorithms can be listed in the QGIS Python console (Python 3) using (see https://gis.stackexchange.com/a/274902/22646 and https://gis.stackexchange.com/a/274874/22646):

QgsApplication.processingRegistry().algorithms()

To list the names (IDs):

for alg in QgsApplication.processingRegistry().algorithms(): print(alg.id())

Getting help for an algorithm (including input parameters and output):

processing.algorithmHelp("qgis:union")

There is also:

processing.algs.help.shortHelp.keys()
print("\n".join(processing.algs.help.shortHelp.keys()))

But it does not seem to include algorithms from for instance gdal and grass.