Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Čo je java.rmi.RemoteException ?

Java programátori trávia väčšinu svojho času plánovanie rozvoja zodpovedajúce spracovanie výnimiek , z výnimiek , ktoré vznikajú v knižniciach , ktoré používajú na plánovanie , ktoré výnimky budú vytvárať s ich vlastným kódom . Zatiaľ čo väčšina sa zaoberá spoločnými výnimiek , ako , ktoré vyplývajú z chýb , súborov alebo null odkazy Java kód , RemoteException je menej bežne stretnúť . Ako taký , je to ťažké pre Java programátorov získať pevné uchopenie , keď je to hodil , a čo by to mohlo znamenať . Malý Základné informácie o Remoting

Remoting je jedným z " čiernej mágie " počítačového programovania pre mnoho vývojárov . V skutočnosti , je to ľahké pre vývojárov prejsť celú kariéru bez obáv o tom . Podrobnosti sú dosť škaredé , ale podstata je jednoduchá : . Programu na jednom počítači , volá kód v inom počítači

Pre uľahčenie Diskusia málo , termín " klient " sa odkazovať na použitie programátora rozvoj , a " server " sa vzťahujú k aplikácii programátor komunikuje s
Pohľad na to , ako Java Remoting práce

Podrobnosti o písaní programu v jazyku Java , ktorý vykonáva vzdialenej komunikácie sú nad rámec tohto článku , ale základná koncepcia stojí krytie . Diaľkový objekt je reprezentovaný rozhraním . Developer získa inštanciu rozhrania a volať metódu na to .

Toto volanie pošle požiadavku na server , ktorý bude spracovávať všetky parametre ( a ak je to nutné vrátiť výsledok ) . Proces odosielania objektov /parametre a zo servera sa nazýva " čerpajú " , a proces prijímania zoradil dáta a previesť ich späť do použiteľných objektov sa nazýva " unmarshalling " .

Spôsobuje

Samozrejme , môže to vždy zle . Možno , že jeden program volá funkciu , ktorá neexistuje na inom počítači . Napríklad , ak sa pokúsite zavolať a.foo ( ) pomocou RMI , a verziu na počítači ste komunikáciu s nemá a.foo ( ) definované , čo rozbiť . Ďalšou možnosťou je , že došlo k chybe na serveri programu , ako je napríklad pripojenie k problému databázy .

Keď sa to stane , budete si RemoteException alebo jeden z jej podtried .
chuti RemoteException

Existujú rôzne podtriedy RemoteException zvládnuť rôzne situácie , ktoré môžu nastať ( pozri sekcia Zdroje pre úplný zoznam podtried ) . Napríklad , ak problém nastane pri zvodu alebo unmarshalling objekty , MarshalException alebo UnmarshalException bude vyvolaná , resp . Pokiaľ dôjde k výnimke , ktorá nie je deklarovaná v podpise volanej metódy ( tj , nekontrolovaný runtime výnimky ) , bude UnexpectedException byť vyvolaná - to by mohlo byť NullPointerException na konci servera, napríklad
< . br > Manipulačná RemoteExceptions

Kým všeobecne Java prax odporúča chytanie najviac špecializované inštancie výnimky , to môže byť ťažké dosiahnuť pri práci s RMI . Je tu príliš veľa možných výnimiek , ktoré je potrebné pri pohľade na rôzne RemoteException podtried , ktoré sa s nimi individuálne asi nestojí za tú námahu .

To znamená , že vývojár sa môže zamerať na potenciálne problémové oblasti , ktoré môžu byť viac či menej zrejmé , v priebehu vývoja . Napríklad v prvom pokuse o vzdialené volanie metódy ( snáď v inicializácii aplikácie ) , developer môže pokúsiť zvládnuť UnknownHostException v špecializovanej spôsobom . Ďalšou možnosťou by mohlo byť všeobecný RemoteException handler , ktorý by mohol mať rôzne akcie založené na určité výnimky stretol .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené