Heim > Java > javaLernprogramm > Hauptteil

Wie Java zur Abstraktion geeignete Ausnahmen auslöst

PHPz
Freigeben: 2023-04-28 14:40:10
nach vorne
1460 Leute haben es durchsucht

Zur Abstraktion geeignete Ausnahmen auslösen

Ausgelöste Ausnahmen sollten sich auf die vom Aufrufer ausgeführte Aufgabe beziehen. In diesem Element werden die Ausnahmekonvertierung (Abfangen einer Ausnahme und Auslösen einer anderen) und die Ausnahmeverkettung (Einschließen einer Ausnahme in eine neue Ausnahme, um die Kausalkette der Ausnahme aufrechtzuerhalten) eingeführt.

private void serializeBillingDetails(BillingResult billingResult,
        BillingDetailsType billingDetails) {
 
    try {
        final JAXBContext context = JAXBContext
                .newInstance(BillingdataType.class);
        final ByteArrayOutputStream out = new ByteArrayOutputStream();
        final Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty("jaxb.formatted.output", Boolean.FALSE);
        final BillingdataType billingdataType = new BillingdataType();
        billingdataType.getBillingDetails().add(billingDetails);
        marshaller.marshal(factory.createBillingdata(billingdataType), out);
        final String xml = new String(out.toByteArray(), "UTF-8");
        billingResult.setResultXML(xml.substring(
                xml.indexOf("<Billingdata>") + 13,
                xml.indexOf("</Billingdata>")).trim());
        billingResult.setGrossAmount(billingDetails.getOverallCosts()
                .getGrossAmount());
        billingResult.setNetAmount(billingDetails.getOverallCosts()
                .getNetAmount());
    } catch (JAXBException | UnsupportedEncodingException ex) {
        throw new BillingRunFailed(ex);
    }
}
Nach dem Login kopieren

Die obige Methode erfasst die JAXBException 和 UnsupportedEncodingException,并重新抛出一个适合方法抽象级别的新异常。新的 BillingRunFailed-Ausnahme und umschließt die ursprüngliche Ausnahme. Dies ist also ein gutes Beispiel für die Ausnahmeverkettung. Der Vorteil der Ausnahmeverkettung besteht darin, dass sie Ausnahmen auf niedriger Ebene beibehält, die beim Debuggen von Problemen hilfreich sein können.

Das obige ist der detaillierte Inhalt vonWie Java zur Abstraktion geeignete Ausnahmen auslöst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage