The c-side shouldn't panic in my point of view. You sometimes panic or return an error in the capi.cpp yourself, that's why I return an error and then the go-side panics in qml.go.