Исключения используются во всем компоненте, в котором я работаю, для обработки ошибок API:
catch (Exception ex)
{
// ex.ToString() below may be something like "database is locked"
string error = string.Format(
"Error when trying to create a playlist: {0}", ex.ToString());
throw new Exception(error);
}
В основном компонент нижнего уровня выдаст Exception
с подробными сведениями об ошибке, и этобыть пойман на более высоком уровне с более общим и удобным сообщением об ошибке.
Когда мое клиентское приложение обрабатывает это приложение, оно вызывает ex.ToString()
, чтобы получить полную строку ошибки, но это также включает вызовstack.
Error: exceptions.RuntimeError: Error when trying to create a playlist:
System.Exception: database is locked
at <very large call stack here>
Есть ли простой способ предотвратить появление последнего раздела (т.е. at <very large call stack here>
) в сообщении об ошибке, не анализируя строку?Это возвращается пользователю, и я хочу, чтобы ошибка была ориентирована на пользователя, а не на приложение.