mojo icon indicating copy to clipboard operation
mojo copied to clipboard

[BUG]: Try/Except handling in fn function

Open survuvi opened this issue 1 year ago • 1 comments

Bug description

Try/Except into the code attached sometimes works

Steps to reproduce

Try/Except into the code attached first time it works and after it gives error:

fn foo(a: Int) -> object:    
    if a == 0:
        print("zero")        
    elif a > 0 and a < 9 or a < 0:
        print("small")
    elif a >= 9:
        print("big")
    return a

try:
    a = "k"
    foo(a)
except:
    print("Something went wrong")



With def instead of fn it works ever:

def foo(a) -> object:    
    if a == 0:
        print("zero")        
    elif a > 0 and a < 9 or a < 0:
        print("small")
    elif a >= 9:
        print("big")
try:
    a = "k"
    foo(a)
except:
    print("Something went wrong")

System information

11:devices:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
10:cpu,cpuacct:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
9:blkio:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
8:hugetlb:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
7:pids:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
6:cpuset:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
5:net_cls,net_prio:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
4:perf_event:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
3:freezer:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
2:memory:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
1:name=systemd:/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod21dda461_a454_49ae_981c_cf636fef854b.slice/cri-containerd-842eb458ffc768912ff334117f9b6dfd2a241ed011305d59e551aa79fa08f8b9.scope
0::/

survuvi avatar May 26 '23 17:05 survuvi

Thanks for filing. I'll take a look soon

Mogball avatar May 26 '23 22:05 Mogball

    a = "k"
    foo(a)

This is failing in an fn because the string cannot be implicitly converted to Int in the function call. It works for def because the object type is failing a == 0.

Mogball avatar Jun 05 '23 18:06 Mogball