Tôi muốn sắp xếp các mục sau dựa trên khóa của họ
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;
vì vậy nó trở thành
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;
Về cơ bản, tôi chỉ sắp xếp các dòng
case IOError:
case IndexError:
case RuntimeError:
case ValueError:
Nội dung của các dòng khác (những dòng không bắt đầu bằng a case
) không quan trọng nhưng tôi muốn chúng được sắp xếp với các trường hợp.
case
s tương tự nhau, bạn có thể tạo lại toàn bộ. Nhận các sắp xếp*Error
s (từ mộtenum
? Có lẽ chạy quasort(1)
?), Sau đó thực hiện một macro mà cải đạoXError
đểcase XError: PyErr_SetString(PyExc_XError, exc.str.c_str()); break;
và chạy nó cho tất cả các giá trị enum.