2015-07-23 2 views
-1

Итак, у меня есть тест на селен, который я хочу распечатать трассировку стека в новый .txt-файл, когда тест завершился неудачно, но я хочу выполнить это БЕЗ использования блока catch try, потому что я хотите, чтобы строка кода «JUnit.runClasses (Myclass.class)» возвращалась false, когда я ее запускаю, но также печатаю стекю в текстовый файл. Кто-нибудь знает, как я могу это сделать?Печать трассировки стека без блока try-catch

Благодаря

ответ

0

Thread.dumpStack() печатает текущий стек для стандартной ошибки.

Существуют и другие методы Thread, которые могут возвращать сведения о стеке, просматривая страницу API.

0

Если вы хотите, чтобы все вызовы методов, напечатанных в файл, чем ниже может быть то, что вы хотите:

PrintWriter writer = null; 
    try { 
     writer = new PrintWriter("file.txt"); 
    } catch (Exception e) { 
    } 

    StackTraceElement[] e = Thread.currentThread().getStackTrace(); 
    for (StackTraceElement element : e) { 
     writer.println(element.toString()); 
    } 
    writer.close(); 

Исключение не бросит, если нет какого-то вопроса с выходным файлом, поэтому метод по-прежнему возвращается в описанном вами сценарии.

Смежные вопросы