Die Zombie-Ausnahme überlebt, wenn sie abgefangen wirdJava

Java-Forum
Anonymous
 Die Zombie-Ausnahme überlebt, wenn sie abgefangen wird

Post by Anonymous »

Ich habe ein wirklich seltsames Problem beim Versuch, Gdx.net.openURI(String) aus der LibGDX-Spiel-Engine zu verwenden. Es handelt sich um eine Methode, die dazu dienen soll, einfach eine Seite in meinem Browser zu öffnen. Es gibt true zurück, wenn es funktioniert, und false, wenn es nicht funktioniert. Es funktioniert (öffnet die Seite) und gibt „true“ zurück, aber eine zufällige Ausnahme wird in meiner Konsole angezeigt und diese Ausnahme wird nicht abgefangen.

Code: Select all

boolean opened;
try
{
opened = Gdx.net.openURI(DONATE_URL); //at net.jumpai.client.menu.DonateDialog.(DonateDialog.java:30)
}
catch(Exception ex)
{
opened = false;
}

// some other code that is always executed
Und hier ist die Ausgabe, die ich bekomme:

Code: Select all

java.io.IOException: Cannot run program "sensible-browser": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at org.lwjgl.LWJGLUtil$1.run(LWJGLUtil.java:406)
at org.lwjgl.LWJGLUtil$1.run(LWJGLUtil.java:404)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.LWJGLUtil.execPrivileged(LWJGLUtil.java:404)
at org.lwjgl.LinuxSysImplementation.openURL(LinuxSysImplementation.java:78)
at org.lwjgl.Sys.openURL(Sys.java:257)
at com.badlogic.gdx.backends.lwjgl.LwjglNet.openURI(LwjglNet.java:66)
at net.jumpai.client.menu.DonateDialog.(DonateDialog.java:30)
at net.jumpai.client.world.online.OnlineWorldScreen.donateClicked(OnlineWorldScreen.java:434)
at net.jumpai.util.event.ListenableImpl.trigger(ListenableImpl.java:25)
at net.jumpai.client.menu.AccountMenu.lambda$new$0(AccountMenu.java:54)
at net.jumpai.util.ui.listener.ClickAdapter.lambda$new$0(ClickAdapter.java:43)
at net.jumpai.util.ui.listener.ClickAdapter.clicked(ClickAdapter.java:50)
at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:89)
at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:59)
at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:351)
at com.badlogic.gdx.InputMultiplexer.touchUp(InputMultiplexer.java:96)
at com.badlogic.gdx.backends.lwjgl.LwjglInput.processEvents(LwjglInput.java:332)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:217)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 22 more
Ich habe dafür gesorgt, dass dieser Code nicht zweimal ausgeführt wird. Dieses Problem liegt nicht daran, dass das eine Mal funktioniert und das andere Mal nicht. Ich bin davon wirklich beeindruckt. Ist das eine echte Ausnahme? Ich verstehe nicht, wo es gefangen und gedruckt werden könnte. Wie kann ich das verhindern?
Ich verwende ArchLinux und mein Browser ist Chromium.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post