panic

std.system.panic

val PANIC_EXIT

pub val PANIC_EXIT: u32 = 255

进程在发生 panic 时退出的状态码

255 符合 std.system.os.abort() 而不是凭空虚构一个常量。信号死亡报告为 128 + N(其中 N <= 64),因此 255 绝不会与之混淆——这正是重点所在,因为过去 panic 会因 SIGSEGV 终止并被误读为内存损坏(#2369)。汇编实现部分将其写成字面量,因为立即数操作数不能接受命名值;请保持它们与此同步。

fun panic

pub fun panic(msg: *u8);

向标准错误写入以空字符结尾的消息并中止

msg:指向以空字符结尾的错误消息的指针