mirror of https://github.com/japl-lang/japl.git
Better error reporting
This commit is contained in:
parent
8d4af722f0
commit
bfb57b1552
|
@ -21,6 +21,7 @@ import testconfig
|
|||
import testbuilder
|
||||
import testrun
|
||||
import testeval
|
||||
import localization
|
||||
|
||||
import os
|
||||
import strformat
|
||||
|
@ -43,6 +44,7 @@ when isMainModule:
|
|||
var debugActions: seq[DebugAction]
|
||||
var targetFiles: seq[string]
|
||||
var verbose = true
|
||||
var crash = false
|
||||
|
||||
var quitVal = QuitValue.Success
|
||||
proc evalKey(key: string) =
|
||||
|
@ -55,6 +57,8 @@ when isMainModule:
|
|||
debugActions.add(DebugAction.Interactive)
|
||||
elif key == "s" or key == "silent":
|
||||
verbose = false
|
||||
elif key == "crash":
|
||||
crash = true
|
||||
elif key == "stdout":
|
||||
debugActions.add(DebugAction.Stdout)
|
||||
else:
|
||||
|
@ -133,6 +137,8 @@ Flags:
|
|||
setLogfiles(targetFiles)
|
||||
# start of JATS
|
||||
try:
|
||||
if crash:
|
||||
raise newException(CatchableError, "Crash.")
|
||||
log(LogLevel.Debug, &"Welcome to JATS")
|
||||
runNimTests()
|
||||
var jatr = "jatr"
|
||||
|
@ -161,6 +167,11 @@ Flags:
|
|||
quitVal = QuitValue.Failure
|
||||
log(LogLevel.Debug, &"Quitting JATS.")
|
||||
# special options to view the entire debug log
|
||||
except:
|
||||
errorDisplay()
|
||||
writeLine stderr, getCurrentExceptionMsg()
|
||||
writeStacktrace()
|
||||
|
||||
finally:
|
||||
let logs = getTotalLog()
|
||||
for action in debugActions:
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
import base64
|
||||
const language = 1
|
||||
|
||||
when language == 1:
|
||||
const aa* = "ICBfX18gICAgX19fICAgX19fICBfX18gIF9fXyAgX19fICAgICAgIF9fICAgICAgX18gIF9fXyAgICBfX18gICBfX18gIF9fXyAgX19fICBfX18gCiAvIF8gXCAgLyBfIFwgfCBfIFwvIF9ffHxfIF98fCBfX3wgICAgICBcIFwgICAgLyAvIC8gXyBcICAvIF8gXCB8IF8gXC8gX198fF8gX3x8IF9ffAp8IChfKSB8fCAoXykgfHwgIF8vXF9fIFwgfCB8IHwgX3wgICAgICAgIFwgXC9cLyAvIHwgKF8pIHx8IChfKSB8fCAgXy9cX18gXCB8IHwgfCBffCAKIFxfX18vICBcX19fLyB8X3wgIHxfX18vfF9fX3x8X19ffCAgICAgICAgXF8vXF8vICAgXF9fXy8gIFxfX18vIHxffCAgfF9fXy98X19ffHxfX198Cgo="
|
||||
|
||||
const bb* = "VXd1IFdlIG1hZGUgYSBmKmNreSB3dWNreSEhIEEgd2l0dGxlIGYqY2tvIGJvaW5nbyE="
|
||||
const cc* = "VGhlIGNvZGUgbW9ua2V5cyBhdCBvdXIgaGVhZHF1YXJ0ZXJzIGFyZSB3b3JraW5nIFZFV1kgSEFXRCB0byBmaXggdGhpcyEK"
|
||||
|
||||
proc errorDisplay* =
|
||||
when language == 1:
|
||||
echo decode aa
|
||||
echo decode bb
|
||||
echo decode cc
|
||||
else:
|
||||
echo "Unsupported language."
|
|
@ -56,6 +56,7 @@ proc log*(level: LogLevel, msg: string) =
|
|||
setForegroundColor(fgDefault)
|
||||
|
||||
proc fatal*(msg: string) =
|
||||
write stderr, msg
|
||||
log(LogLevel.Fatal, msg)
|
||||
raise newException(CatchableError, msg)
|
||||
|
||||
|
|
Loading…
Reference in New Issue