fix catch

This commit is contained in:
Daniella / Tove 2024-08-29 09:36:53 +02:00
parent ef266f3811
commit 1fd2647688
4 changed files with 7 additions and 6 deletions

View file

@ -8,7 +8,7 @@ func main { mega | with args ;
catch {
" > " print readln dyn-read exec2 "\n" print
}
with { with err ;
{ with err ;
err:message dup null eq if {
pop
"Uncaught error."

View file

@ -179,8 +179,10 @@ fn read_block(str_words: &[String], isfn: bool) -> Result<(Option<u32>, Words, u
types.push(str_words[i].to_owned());
i += 1;
}
println!("{} {}", str_words[i], str_words[i+1]);
let blk = read_block(&str_words[i + 1..], false)?;
i += 1 + blk.2;
i += 2 + blk.2;
println!("{} {}", str_words[i], str_words[i+1]);
let ctch = read_block(&str_words[i + 1..], false)?;
i += 1 + ctch.2;
words.push(Word::Key(Keyword::Catch(types, blk.1, ctch.1)))

View file

@ -473,7 +473,7 @@ func call-main-on-file { | with file ;
update-types
argv main exit
}
with { with err ;
{ with err ;
err:message dup null eq if {
pop
"Uncaught error."

View file

@ -120,8 +120,7 @@ func main { int | with args ;
"testing http" println
def req "tudbut.de" 81 "GET" "/spltest" Request:new =req
req:send:body _str println
}
with { with e ;
} { with e ;
e:message println
"it seems the internet is not available" println
}
@ -136,7 +135,7 @@ func main { int | with args ;
catch {
"heya" throw
} with { with e ;
} { with e ;
e:message println
}
"" println