O que é stack trace e como usá-lo para depuração de erros em Java?
Olá a todos! Sou novo em Java e frequentemente encontro erros que exibem enormes textos vermelhos no console. Eu sei que isso é chamado de "stack trace" (pilha de chamadas), mas, honestamente, não entendo muito bem como lê-lo e como ele pode me ajudar a corrigir erros.
Por exemplo, tenho um código simples:
```java
public class Calculator {
public static void main(String[] args) {
int result = divide(10, 0);
System.out.println("Resultado: " + result);
}
public static int divide(int a, int b) {
return a / b;
}
}
```
Quando executo, recebo a seguinte mensagem:
```
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Calculator.divide(Calculator.java:7)
at Calculator.main(Calculator.java:3)
```
Entendo que o erro está relacionado à divisão por zero, mas o que significam essas linhas com "at"? Como posso saber de qual linha o problema começou e como corrigi-lo? Ouvi dizer que o stack trace pode mostrar