2017-08-29 5 views
-4

Ich versuche, Versuch zu addieren und Ausnahme in meinen Code zu fangen aber nicht zu wissen, wohin man es in meinen Code setzt. Könnte jemand bitte helfen. Neu in Java. Ich weiß, dass du den Fang brauchst, um es zu versuchen. Wenn jemand helfen könnte, wäre das gut. Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen :)Ausnahmehandhabung versuchen und fangen

Ich habe auch Seite Object Modeling verwendet, um auch meinen Code zu schreiben.

package com.gms; 

import java.io.File; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.remote.DesiredCapabilities; 
import org.testng.annotations.AfterTest; 
import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test; 

import NGP_IOS_Test.AttractionTab; 
import NGP_IOS_Test.MyAlbum; 
import io.appium.java_client.AppiumDriver; 
import io.appium.java_client.ios.IOSDriver; 
import io.appium.java_client.remote.MobileCapabilityType; 
import io.appium.java_client.service.local.AppiumDriverLocalService; 
import io.appium.java_client.service.local.AppiumServiceBuilder; 

public class pages { 

AppiumDriver driver; 

public AppiumDriverLocalService service; 

@BeforeTest 
public void AttractionsPage() throws IOException, InterruptedException, 
MalformedURLException 

{ 
service = AppiumDriverLocalService 
      .buildService(new AppiumServiceBuilder() 
      .usingDriverExecutable(new 
File("/usr/local/Cellar/node/8.2.1/bin/node")) 
      .withAppiumJS(new 





File("/Applications/Appium.app/Contents/Resources/app/node_modules 
/appium/build/lib/main.js"))); 

    service.start(); 

    Thread.sleep(5000); 

    DesiredCapabilities cap = new DesiredCapabilities(); 
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "safari"); 
cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "10.3"); 
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 7 Plus"); 
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 7 Plus"); 
driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap); 
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
} 

    @Test 
    public void RunTest() throws InterruptedException { 


driver.get("http://gms-picsolve-qa.ngpdev.com"); 

AttractionTab attraction=new AttractionTab(driver); 


//click a photo 
attraction.clickphoto(); 
Thread.sleep(3000); 

//click thats me on preview 
attraction.clickpreview(); 
Thread.sleep(3000); 

//click no on facial detection 
attraction.clickFDS(); 
Thread.sleep(3000); 


MyAlbum album=new MyAlbum(driver); 

album.clickalbum(); 
Thread.sleep(3000); 
album.photoassiston(); 
Thread.sleep(3000); 
album.exitselfie(); 

} 

    @AfterTest 
    public void afterTest() { 

driver.quit(); 


service.stop(); 

} 
} 
+5

"Neu in Java." - In diesem Fall möchten Sie vielleicht zuerst die Grundlagen (und die Behandlung von Ausnahmebehandlungen ist einer davon), bevor Sie sich mit den komplexeren Themen beschäftigen. Sie machen mehrere Schritte gleichzeitig und neigen dazu, irgendwann zu stolpern und zu stürzen. – Thomas

+0

* Ich weiß, dass Sie den Haken brauchen, um einen Versuch zu haben. * Technisch, nein. Aber warum würden Sie überhaupt erwägen, den Haken zu überspringen, wenn Sie versuchen, die Fehlerbehandlung zu implementieren? – shmosel

+0

Welchen Fehler versuchen Sie zu fangen? –

Antwort

0

Einige Grundregeln:

  • Surround mit try nur die Linien denken, Sie kann es eine Ausnahme sein, und catch nur die Ausnahme, die Sie kennen. Verwenden Sie nicht zu viele Codes in try. Moderne IDEs wie Eclipse können Ihnen helfen, den Typ der zu erfassenden Ausnahmen zu identifizieren. Sei so genau wie möglich.

  • Aber in der Praxis, ich sehe ppl so viele wie Linien mit try umgeben und catch die generischen (Exception e) schließlich hinzufügen, so dass fast dem gesamten Code in einem ganzen Verfahren ist in try. Praktisch, einfach, aber hässlich. Um schnell zu beginnen, ist das akzeptabel, aber ich schlage vor, dass Sie dies verfeinern, wenn Sie Java besser kennen.

  • Ah, endlich, nicht catch verwenden Zustand Zweig zu manipulieren, das heißt, ersetzen nicht if mit try/catch, oder versuchen Sie am besten nicht zu tun.


Wie für Ihren Code ... Einzug richtig, und versuchen Javadoc jeder Methode zu lesen, welche Ausnahme jede Zeile werfen kann, und teilen sie in kleinen, getrennt Methoden für eine klare Struktur zu verstehen. Dann können Sie darüber nachdenken, wie Sie try/catch verwenden können.

+0

Danke Leute, kennst du die beste Quelle von Material, das ich verwenden kann, um grundlegendes Java zu lernen? –

+0

Ich schlage vor, hier zu suchen und javadoc von jeder Methode zu lesen, die Sie verwenden. Was Bücher anbetrifft, habe ich nicht viele gelesen, also fürchte ich, ich kann keine empfehlen. Wenn vorhanden, Core Java neueste Version. – FaithReaper