#error-handling #rust
#обработка ошибок #Ржавчина
Вопрос:
У меня есть строка и файл, в которых произошла ошибка, используя line!
file!
макросы и соответственно. Компилятор Rust может точно указать, где произошла причина ошибки в исходном коде. Есть ли способ указать на определенную область в коде, где line
= line!
и file
= file!
?
Комментарии:
1. Что именно вы подразумеваете под «указывать на»? Если у вас есть файл и строка, что еще вы надеетесь получить?
2. Я хотел бы указать на точный код, в котором происходит ошибка. Например: play.rust-lang.org /… показывает, где выдается ошибка. Это из-за
}
. Я хотел бы выдать аналогичную ошибку компилятора.3. Пожалуйста, будьте более конкретными. Какая ошибка? A
Result
? Или apanic
? Вы имеете в виду, что во время компиляции вы хотите напечатать ошибку или во время выполнения? Этот вопрос очень неясен.4. Пожалуйста, приведите пример, который показывает, что вы имеете в виду, что вы пробовали до сих пор, и почему это не дает ожидаемого результата.
Ответ №1:
Не совсем понятно, что вы пытаетесь сделать, но я думаю, что вы ищете ящики, которые могут форматировать сообщения об ошибках, например, компилятор Rust:
или вы можете взглянуть на исходный код для сообщения об ошибках в компиляторе Rust, но он использует свой собственный модуль, который нельзя использовать извне самого компилятора.
Ответ №2:
В Visual Studio Code
панике вы можете удерживать Ctrl
и нажимать на номер строки, и он перейдет к строке в редакторе.
Например, когда вы запускаете свою программу во встроенном терминале, вы можете получить:
thread 'main' panicked at 'explicit panic', src/main.rs:27:5
^
|
CLICK HERE -/