Mis on Java.rmi.RemoteException ?

Kuigi ei ole päris nii ilmselge helepunane kirju , et RemoteException tähendab üldiselt midagi läks väga valesti . viga digitaalse pildi UBE alates Fotolia.com

Java programmeerijate veedavad suure osa oma arengu ajal plaanis asjakohane arvatud käitlemine, eranditeks, mis tekivad raamatukogud kasutavad nad planeerimine, mis erandeid nad tekitavad koosoma koodi.Kuigi enamik Java koodi tegeleb ühise erandeid, nii et tekivad faili vigu või null viidete RemoteException on harvem esinevad.Nagu näiteks, see on raske Java programmeerijate saaksid kindel mõistma, kui ta on visatud ja mida see võiks tähendada.

natuke tausta kohta Kaugseanss

  • Kaugseanss on üks "pimedas kunst" arvuti programmeerimise palju arendajaid.Tegelikult, see on lihtne arendajatele läbida terve karjääri muretsemata.Andmed on päris vastik, kuid põhisisu on lihtne: programm ühe arvuti nõuab koodi muus arvutis.

    Et leevendada arutelu natuke mõiste "klient", viidatakse taotluses programmeerija areneb ja "server", viidatakse taotluses programmeerija suhtleb.

pilguheit Kuidas Java Kaugseanss tööd

  • üksikasjad kirjalikult Java programm, mis täidab Kaugjuhtimise on väljaspool käesoleva artikli reguleerimisala, kuid nende aluseks olevad mõisted on väärt katab.Serveri objekti esindab liides.Arendaja saada näiteks liidese ja helistada meetod ta.

    kõne saadab taotluse serverile, mis töötleb kõiki parameetreid (ja tagastab tulemuse, kui see on vajalik).Protsessi saates objektide / parameetrite ja serverist nimetatakse "sorteerimis-", ning protsess võtab marshalled andmed ja tõlkides tagasi kasutatav objekte nimetatakse "unmarshalling".

Põhjustab

  • Muidugi asju saab alati minna valesti.Võib-olla üks programm nõuab funktsiooni, mida ei eksisteeri teises arvutis.Näiteks, kui sa püüad helistada a.foo () kasutades RMI ning versiooni arvutisse sa suhelda ei a.foo () määratletud, asju lõhkuda.Teine võimalus on see, et tekkinud viga serveris programmi, näiteks andmebaasi ühendus probleem.

    Kui see juhtub, saad RemoteException või üks selle alamklassi.

maitsed RemoteException

  • On erinevaid alamklassid RemoteException käsitseda erinevaid olukordi, mis võivad tekkida (vt Resources for ammendav loetelu alamklassid).Näiteks, kui tekib probleem, kui sorteerimis- või unmarshalling objektid, et MarshalException või UnmarshalException visatakse võrra.Kui erand, mis ei ole deklareeritud nimetatakse meetodit allkiri (st märkimata runtime arvatud) tekib, mis on UnexpectedException visatakse - see võiks olla NullPointerException serveris lõpus, näiteks.

käsitsemine RemoteExceptions

  • Kuigi üldiselt Java praktika soovitab püüdmine kõige spetsialiseeritud astme erand, see võib olla raske saavutada, kui töötatakse RMI.Seal on liiga palju potentsiaalseid erandeid kaaluma, kui vaadata erinevaid RemoteException alamklassiks, et nendega tegelemiseks eraldi ilmselt ei vaeva väärt.

    See ütles, arendaja saab keskenduda võimalikule probleemile valdkondades, mis võib olla rohkem või vähem silmatorkav arengu käigus.Näiteks esimesel katsel kõrvalises meetod kõne (ehk rakendus initsialiseerimise), arendaja saab proovida hakkama UnknownHostException spetsialiseeritud moel.Teine võimalus võib olla üldine RemoteException käitleja, mis võib võtta erinevaid meetmeid, mis põhineb konkreetne erand tekkis.

Resources

  • Rymden: A (humoorikas) Loetelu ühise Erandid koos selgitustega
  • Sun: Trail Remote Method appihüüd
  • Mind Prod: nimekirja erinevate Java Erandid, Paljud üksikasjad / Notes
558
0
3
Java Programming