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.
caseSie das Ganze regenerieren können , da der Inhalt des s ähnlich ist. Holen Sie sich das sortierte*Errors (von einemenum? Vielleicht durchlaufensort(1)?), Und erstellen Sie dann ein Makro, dasXErrorincase XError: PyErr_SetString(PyExc_XError, exc.str.c_str()); break;alle Enum-Werte konvertiert und ausgeführt wird.