Knight docs
EN ID
GitHub

Handling Errors in Callbacks

What happens when a line inside a callback fails, and what does not.

Error di dalam callback

Kegagalan runtime pada satu baris (argumen native ditolak, resource tidak tersedia, panic di panggilan engine) akan dicatat lalu dilewati. Sisa callback tetap berjalan dan server tetap memproses paket pemain itu, jadi satu baris bermasalah di player::connect tidak bisa membekukan atau memutus pemain.

knight
player::connect() {
    state[playerid] = 1;
    SetPlayerPos(playerid, 0.0 / 0.0, 0.0, 0.0);   // ditolak engine
    state[playerid] = 2;                            // tetap jalan
    SendClientMessage(playerid, "state={at(state, playerid)}");
};

Log menampilkan script error at LINE:COL: .... Perbaiki barisnya, tetapi jangan khawatir soal crash atau client macet: hanya statement itu yang dilewati.

Tip
return, break, dan continue tetap bekerja normal; hanya error sungguhan yang ditahan.