可以使用defer和recover来捕获子线程中的panic,并打印出报错信息。修改后的代码如下:

go func() {
	defer func() {
		if err := recover(); err != nil {
			log.Println("截图子线程发生错误:", err)
		}
	}()

	log.Println("截图子线程运行中...")
	for running {
		monkey.Device.Screenshot_continuous(&monkey.White_scr, &monkey.Black_scr,
			&monkey.White_time, &monkey.Black_time, &monkey.Pic_count, &monkey.White_time_temp, &monkey.Black_time_temp)
		time.Sleep(200 * time.Millisecond)
	}
	log.Println("截图子线程已退出!")
}()

在上述代码中,使用defer关键字来延迟执行捕获panic的代码块。当子线程中发生panic时,会触发recover函数来捕获panic,并将错误信息打印出来。

go func 		logPrintln截图子线程运行中		for running 			monkeyDeviceScreenshot_continuous&monkeyWhite_scr &monkeyBlack_scr				&monkeyWhite_time &monkeyBlack_time &monkeyPic_count &monkeyWhite_time_temp &monkeyBl

原文地址: https://www.cveoy.top/t/topic/i5Is 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录