0

Today I get the error log like this on the server side:

2023-08-16T06:24:47.573596263+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] ERROR rocket::server:Handler get_src panicked.
2023-08-16T06:24:47.573629024+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] WARN rocket::server:A panic is treated as an internal server error.
2023-08-16T06:24:47.573646358+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:325] WARN rocket::server:No 500 catcher registered. Using Rocket default.
2023-08-16T06:27:56.855388341+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] ERROR rocket::server:Handler get_src panicked.
2023-08-16T06:27:56.855422211+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] WARN rocket::server:A panic is treated as an internal server error.
2023-08-16T06:27:56.855437724+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:325] WARN rocket::server:No 500 catcher registered. Using Rocket default.
2023-08-16T06:27:58.894042355+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] ERROR rocket::server:Handler get_src panicked.
2023-08-16T06:27:58.894076040+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] WARN rocket::server:A panic is treated as an internal server error.
2023-08-16T06:27:58.894102580+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:325] WARN rocket::server:No 500 catcher registered. Using Rocket default.
2023-08-16T06:28:02.054234696+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] ERROR rocket::server:Handler get_src panicked.
2023-08-16T06:28:02.054270654+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:56] WARN rocket::server:A panic is treated as an internal server error.
2023-08-16T06:28:02.054285534+00:00 [/home/rust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rocket-0.5.0-rc.3/src/server.rs:325] WARN rocket::server:No 500 catcher registered. Using Rocket default.

From the error I just known panic on somewhere, did not know any more detail info. So I defined the rocket error catcher follow the guide https://api.rocket.rs/v0.5-rc/rocket/catcher/struct.Catcher.html like this:

#![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;

use rocket::Request;

#[catch(500)]
fn internal_error(req: &rocket::Request) -> String{
  error!("internal error");
  return "internal error".to_string();
}

fn main() {
    rocket::ignite().register(catchers![internal_error]).launch();
}

how to get the server error detail info? I read the document and did not found out any clue.

Dolphin
  • 29,069
  • 61
  • 260
  • 539
  • 2
    A panic is not an exception that you can catch like in other languages. Somewhere in your code base, you have code that panics. Fix those. Tools like chippy can help you find places where panics may occur, like on unsafe unwraps. Also you can run your application in debug mode with detailed tracebacks enabled to locate the source of the panic. – Richard Neumann Aug 16 '23 at 17:40

0 Answers0