]> gerrit.simantics Code Review - simantics/platform.git/commitdiff
Message of an Exception may be null. 72/4772/1
authorMarko Luukkainen <marko.luukkainen@semantum.fi>
Tue, 14 Sep 2021 11:48:37 +0000 (14:48 +0300)
committerMarko Luukkainen <marko.luukkainen@semantum.fi>
Tue, 14 Sep 2021 11:48:37 +0000 (14:48 +0300)
Changed messageOfException function to return empty String when message
is null.

Added possibleMessageOfException to return Maybe String

gitlab #749

Change-Id: Ia67cbef6bbc67c7c0c6fc15a69bd11d46f76e431

bundles/org.simantics.scl.runtime/scl/Prelude.scl

index 86d13fb6628e77401b7a7fd0be2866834216ffca..dc25349c8c04da7beab8d8b0d7d8df1187213381 100644 (file)
@@ -2264,7 +2264,7 @@ importJava "java.lang.Throwable" where
     showThrowable :: Throwable -> String
     @private
     @JavaName getMessage 
-    getMessageThrowable :: Throwable -> String
+    getMessageThrowable :: Throwable -> Maybe String
     @private
     @JavaName getCause 
     getCauseThrowable :: Throwable -> Maybe Throwable
@@ -2283,7 +2283,12 @@ class Throwable e where
     toThrowable :: e -> Throwable
 
 messageOfException :: Throwable e => e -> String
-messageOfException = getMessageThrowable . toThrowable
+messageOfException e = match getMessageThrowable $ toThrowable e with
+                       Just m -> m
+                       Nothing -> ""
+                       
+possibleMessageOfException :: Throwable e => e -> Maybe String
+possibleMessageOfException e = getMessageThrowable $ toThrowable e
 
 causeOfException :: Throwable e => e -> Maybe Throwable
 causeOfException = getCauseThrowable . toThrowable