fixed support so that it raises a Java error instead of a Scheme error for null string

svn: r3570
This commit is contained in:
Matthias Felleisen 2006-07-01 17:46:39 +00:00
parent 598e2e19cc
commit a4f230d00a
2 changed files with 11 additions and 3 deletions

View File

@ -72,6 +72,13 @@
(raise-error
(format "Method ~a expects an int >= 0 for ~a argument, given ~a" method argument value))))
;Raises an error if string is null
;check-string: string string string -> boolean
(define (check-string value method argument)
(when (null? value)
(raise-error (format "Method ~a expects a non-null String for ~a argument, given null" method argument)))
#t)
(define (to-lower-case s)
(letrec ((lower
(lambda (s)
@ -132,6 +139,7 @@
([hash-table-get privates '%draw-solid-line] (build-posn p0) (build-posn p1) (color->symbol c))))
(define (drawString-draw.Posn-java.lang.String-native this accs gets privates p s)
(define _ (check-string s "drawString(Posn, String)" "second"))
(define s* (send s get-mzscheme-string))
(wrap-start-check
([hash-table-get privates '%draw-string] (build-posn p) s*)))

View File

@ -1,7 +1,7 @@
package idraw;
public abstract class World {
public Canvas theCanvas;
protected Canvas theCanvas;
public void bigBang(int width, int height, double s) {
if (width <= 0)
throw new RuntimeException(