Ich möchte Folgendes anhand ihrer Schlüssel sortieren
case IndexError:
PyErr_SetString(PyExc_IndexError, exc.str.c_str());
break;
case ValueError:
PyErr_SetString(PyExc_ValueError, exc.str.c_str());
break;
case RuntimeError:
PyErr_SetString(PyExc_RuntimeError, exc.str.c_str());
break;
case IOError:
PyErr_SetString(PyExc_IOError, exc.str.c_str());
break;
so wird es
case IOError:
PyErr_SetString(PyExc_IOError, exc.str.c_str());
break;
case IndexError:
PyErr_SetString(PyExc_IndexError, exc.str.c_str());
break;
case RuntimeError:
PyErr_SetString(PyExc_RuntimeError, exc.str.c_str());
break;
case ValueError:
PyErr_SetString(PyExc_ValueError, exc.str.c_str());
break;
Im Wesentlichen sortiere ich nur die Zeilen
case IOError:
case IndexError:
case RuntimeError:
case ValueError:
Der Inhalt der anderen Zeilen (diejenigen, die nicht mit a beginnen case
) spielt keine Rolle, aber ich möchte, dass sie nach den Fällen sortiert werden.
case
Sie das Ganze regenerieren können , da der Inhalt des s ähnlich ist. Holen Sie sich das sortierte*Error
s (von einemenum
? Vielleicht durchlaufensort(1)
?), Und erstellen Sie dann ein Makro, dasXError
incase XError: PyErr_SetString(PyExc_XError, exc.str.c_str()); break;
alle Enum-Werte konvertiert und ausgeführt wird.