MIPLearn.BasicCollector() error why

code running ok until to -4-5-part using MIPLearn.BasicCollector() collect data
error :The terminal process "julia ‘-i’,‘–banner=no’,“project=C:\Userslxx,julialenvironmentslv1.11’‘c:\Users\xx.vscodelextensionsyjulialang.language-julia-1.127.2\scriptslterminalserverlterminalserver.jl’, \l.\pipelvsc-jlrepl-0b585e81-6b29-4619-89fd-806ef1ff2441,”\pipe\vsc-jl-repldbg-27a9d071-f8c5-4b16-9235-8bd35873fba0’, "l.\pipelvsc-jl-cr-c3e9982c-1771-4958-af9b-5739f5db97eb’,‘USE REVISE=true’"USE PLOTPANE=true’,‘USE PROGRESS=true’‘ENABLE SHELL INTEGRATION=true’,'DEBUG MODE=false"terminated with exit code: 1.

import JuMP
import JSON
import MIPLearn
using HiGHS

struct UnitCommitmentData
    demand::Float64
    pmin::Vector{Float64}
    pmax::Vector{Float64}
    cfix::Vector{Float64}
    cvar::Vector{Float64}
end;


function build_uc_model(data)
    if data isa String
        data = read_jld2(data)
    end
    model = Model(HiGHS.Optimizer)
    println("--------------------------------------")
    
    
    G = 1:length(data.pmin)
    JuMP.@variable(model, x[G], Bin)
    JuMP.@variable(model, y[G] >= 0)
    JuMP.@objective(model, Min, sum(data.cfix[g] * x[g] + data.cvar[g] * y[g] for g in G))
    JuMP.@constraint(model, eq_max_power[g in G], y[g] <= data.pmax[g] * x[g])
    JuMP.@constraint(model, eq_min_power[g in G], y[g] >= data.pmin[g] * x[g])
    JuMP.@constraint(model, eq_demand, sum(y[g] for g in G) == data.demand)
    println(eq_demand)
    #optimize!(model)
    #assert_is_solved_and_feasible(model)
    #@show objective_value(model)
    #@show Vector(value.(model.[:x]))
    #@show Vector(value.(model.[:y]));
    return model 
    #daisai
    #return MIPLearn.JumpModel(model)
    
end;


model = build_uc_model(
    UnitCommitmentData(
        100.0,  # demand
        [10, 20, 30],  # pmin
        [50, 60, 70],  # pmax
        [700, 600, 500],  # cfix
        [1.5, 2.0, 2.5],  # cvar
    )
)
write_to_file(model, "g:\\unitcommit-data\\test_knapsnack_miplearn.lp")

write_to_file(model, "g:\\unitcommit-data\\test_knapsnack_miplearn.mps")

optimize!(model)


using Distributions
using Random

function random_uc_data(; samples::Int, n::Int, seed::Int=42)::Vector
    Random.seed!(seed)
    pmin = rand(Uniform(100_000, 500_000), n)
    pmax = pmin .* rand(Uniform(2, 2.5), n)
    cfix = pmin .* rand(Uniform(100, 125), n)
    cvar = rand(Uniform(1.25, 1.50), n)
    return [
        UnitCommitmentData(
            sum(pmax) * rand(Uniform(0.5, 0.75)),
            pmin,
            pmax,
            cfix,
            cvar,
        )
        for _ in 1:samples
    ]
end;
println("---------------------------3-----------")
using JLD2
data = random_uc_data(samples=500, n=500)
train_data = MIPLearn.write_jld2(data[1:450], "uc/train")
test_data = MIPLearn.write_jld2(data[451:500], "uc/test");


println("---------------------------4-5-----------")
using Suppressor
# 定义错误日志路径
error_log = "g:\\unitcommit-data\\miplearn_error.log"

# 捕获错误并写入文件
open(error_log, "w") do file
    try
        #@suppress_out  begin
        bc = MIPLearn.BasicCollector()
        bc.collect(train_data, build_uc_model)
        #end
    catch e
        # 写入错误基本信息
        println(file, "=== ERROR MESSAGE ===")
        println(file, "Type:    ", typeof(e))
        println(file, "Message: ", e)
        println(file, "\n=== STACKTRACE ===")
        
        # 写入完整堆栈跟踪
        showerror(file, e, catch_backtrace())
    end
end

println("错误日志已保存至: ", abspath(error_log))

why catch error not working