I don't know if this is expected, but I get  a Nullpointerexception
when I implement a proxy function and the 'interface' isn't
'imported'.  For example, I was refactoring some code and didn't carry
over the import and get this nullpointerexception error. Obviously, I
should just add the import, but I wish the error message were more
descriptive.

Copied this code:

Note: I didn't define the import 'ShellAdapter'

(defn shell-close-adapter
  " Create a proxy used with a SWT widget 'addShellListener'"
  [cur-shell]
  ;;;;;;;;;;;;;
  (proxy [ShellAdapter][]
                 (shellClosed [event]
                                          (set! (. event doit) false)
                                          (. cur-shell setVisible false))))


-----------


java.lang.NullPointerException (octane_utils.clj:131)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:4113)
        at clojure.lang.Compiler.analyze(Compiler.java:3935)
        at clojure.lang.Compiler.analyze(Compiler.java:3908)
        at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:3613)
        at clojure.lang.Compiler$FnMethod.parse(Compiler.java:3456)
        at clojure.lang.Compiler$FnMethod.access$1100(Compiler.java:3335)
        at clojure.lang.Compiler$FnExpr.parse(Compiler.java:2921)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:4104)
        at clojure.lang.Compiler.analyze(Compiler.java:3935)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:4094)
        at clojure.lang.Compiler.analyze(Compiler.java:3935)
        at clojure.lang.Compiler.access$100(Compiler.java:38)
        at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:366)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:4106)
        at clojure.lang.Compiler.analyze(Compiler.java:3935)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:4094)
        at clojure.lang.Compiler.analyze(Compiler.java:3935)
        at clojure.lang.Compiler.analyze(Compiler.java:3908)
        at clojure.lang.Compiler.eval(Compiler.java:4146)
        at clojure.lang.Compiler.load(Compiler.java:4470)
        at clojure.lang.RT.loadResourceScript(RT.java:327)
        at clojure.lang.RT.loadResourceScript(RT.java:316)
        at clojure.lang.RT.load(RT.java:406)
        at clojure.lang.RT.load(RT.java:376)
        at clojure.core$load__4557$fn__4559.invoke(core.clj:3427)
        at clojure.core$load__4557.doInvoke(core.clj:3426)
        at clojure.lang.RestFn.invoke(RestFn.java:413)
        at clojure.core$load_one__4520.invoke(core.clj:3271)
        at clojure.core$load_lib__4540.doInvoke(core.clj:3308)
        at clojure.lang.RestFn.applyTo(RestFn.java:147)
        at clojure.core$apply__2869.doInvoke(core.clj:374)
        at clojure.lang.RestFn.invoke(RestFn.java:443)
        at clojure.core$load_libs__4544.doInvoke(core.clj:3334)
        at clojure.lang.RestFn.applyTo(RestFn.java:142)
        at clojure.core$apply__2869.doInvoke(core.clj:374)
        at clojure.lang.RestFn.invoke(RestFn.java:460)
        at clojure.core$use__4551.doInvoke(core.clj:3404)
        at clojure.lang.RestFn.invoke(RestFn.java:938)
        at user$eval__1.invoke(octane_main_window.clj:28)
        at clojure.lang.Compiler.eval(Compiler.java:4142)
        at clojure.lang.Compiler.load(Compiler.java:4470)
        at clojure.lang.Compiler.loadFile(Compiler.java:4437)
        at clojure.lang.Repl.main(Repl.java:66)
Caused by: java.lang.NullPointerException
        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:26)
        at clojure.core$get_super_and_interfaces__4708.invoke(core_proxy.clj:
195)
        at clojure.core$proxy__4729.doInvoke(core_proxy.clj:270)
        at clojure.lang.RestFn.invoke(RestFn.java:445)
        at clojure.lang.Var.invoke(Var.java:335)
        at clojure.lang.AFn.applyToHelper(AFn.java:180)
        at clojure.lang.Var.applyTo(Var.java:444)
        at clojure.lang.Compiler.macroexpand1(Compiler.java:4025)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:4092)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to