home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2001 November / MICD2001_11_NR1.iso / Www / WebArea / index.php@id=75 < prev    next >
Text File  |  2001-09-26  |  17KB  |  313 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4//PL">
  2. <html>
  3. <head>
  4. <title>WEB-AREA.org - serwis webmaster≤w</title>
  5. <link href="style.css" rel="stylesheet" type="text/css">
  6. <LINK REL="SHORTCUT ICON" HREF="favicon.ico"> 
  7. <meta http-equiv="Creation-date" content="28.08.2001">
  8. <meta http-equiv="Reply-to" content="web-area@web-area.org">
  9. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
  10. <meta name="author" content="Jakub & Jan Filipowscy">
  11. <meta name="description" content="Serwis webmasterow. Znajdziesz tu kilka kursow popularnych internetowych jezykow programowania takich jak: HTML, CSS, WML, SGML, XML, PHP, Perl i Java. Zamiescilismy tu rowniez wiele skryptow JavaScript, PHP i CGI. Przeczytac mozna kilka artykulow i sciagnac kilka szablonow. Dla poczatkujacych jest dzial BeginnerZone. ">
  12. <meta http-equiv="keywords" content="WEB-AREA, web-area, web area, web, area, WEB-AREA.org, web-area.org, webara.org,strefa webmastera, strefa, webmastera, webmaster, WEBMASTER, Webmaster, tworzenie stron www, www, strona www, internet, world wide web, design, designerswo, designer, programowanie, jΩzyki, jΩzyk programowania, php, cgi, html, java, javascript, sgml, wml, PHP, CGI, HTML, Java, JavaScript, SGML, WML, wap, standarty, skrypty php, skrypty cgi, applety java, aplety, aplety java, aplety javy, applety javy, javascripty, JavaScripty, skrypty javy, publikowanie witryny, witryna, tworzenie witryn, tworzenie sklep≤w internetowych, edytory html, tekstowe edytory html, projekt syf, szablony, Szablony, free, darmowe, zadarmo, subskrypcja, lista mailingowa, mailing list, lista subskrypcyjna, bannery, formularze, liczniki, ksiΩgi go╢ci, linki, fora, pliki i operacje na nich, statystyki, wyszukiwarki, rankingi, darmowe skrypty, Jakub Filipowski, Jan Filipowski, katalog, Katalog stron zwi▒zanych z tematyk▒ webmasterstwa, webmasterswo, magazyn www, style, CSS, XML, ASP, jΩzyki skryptowe, generatory, anarchizm">
  13. </head>
  14. <body>
  15.  
  16.  
  17. <div align="left">
  18. <table border="0" cellpadding="0" cellspacing="0" width="770">
  19. <tr>
  20. <td width="770" valign="top" colspan="3">
  21.  
  22.     <table border="0" cellpadding="0" cellspacing="0" width="770">
  23.     <tr>
  24.     <td width="166" valign="top"><a href="index.php"><img src="img/logo.gif" border="0" width="166" height="70" alt="WEB-AREA.org - serwis webmaster≤w"></a></td>
  25.     <td width="604" height="70" background="img/gora.gif" align="right"><iframe src="banner.php" MARGINWIDTH="0" MARGINHEIGHT="0" HSPACE="0" VSPACE="0" FRAMEBORDER="0" SCROLLING="NO" WIDTH="468" HEIGHT="60">
  26. </iframe></td>
  27.     </tr></table>
  28.  
  29. </td>
  30. </tr><tr>
  31. <td width="770" valign="top" colspan="3">
  32.     <table border="0" cellpadding="1" cellspacing="0" width="770">
  33.         <tr><form method="post" action="szukaj.php">
  34.         <td width="260">    <input type="text" name="zapytanie" size="15"> <input type="submit" value="SZUKAJ"> <span class="m"><a href="index.php@url=redakcja_2Fszukaj">Jak szukaµ?</a></span></td></form>
  35.         <td width="510">
  36.         
  37.         <p align="center">
  38.         <a href="index.php@id=206" class="gora">Konkurs</a>   
  39.         <a href="subskrypcja/nowa.php" class="gora">Za│≤┐ subskrypcjΩ</a>    
  40.         <a href="index.php@id=128" class="gora">Katalog</a>    
  41.         <a href="forum.php" class="gora">Forum</a>    
  42.         <a href="index.php@id=15" class="gora">BeginnerZone</a>
  43.         
  44.         </td>
  45.     </tr></table>
  46. </td>
  47. </tr>
  48. <tr>
  49. <td width="142" valign="top">
  50.     
  51.     <br>
  52.     <table border="0" cellpadding="0" cellspacing="0" width="142">
  53.     <tr>
  54.     <td width="142" valign="top"><img src="img/menu.gif" border="0" width="142" height="13" alt="MENU"></td>
  55.     </tr>
  56.     <tr>
  57.     <td width="142" valign="top" background="img/okno1.gif">
  58.     <img src="img/s.gif" width="9" height="8"><b class="menu1">KURSY</b><br>
  59.       - <a href="index.php@id=50" class="menu">HTML</a><br>
  60.       - <a href="index.php@id=40" class="menu">CSS</a><br>
  61.       - <a href="index.php@id=62" class="menu">Java</a><br>
  62.       - <a href="index.php@id=145" class="menu">PHP</a><br>
  63.       - <a href="index.php@id=39" class="menu">CGI</a><br>
  64.       - <a href="index.php@id=5" class="menu">ASP</a><br>
  65.       - <a href="index.php@id=182" class="menu">WML</a><br>
  66.       - <a href="index.php@id=190" class="menu">XML</a><br>
  67.       - <a href="index.php@id=159" class="menu">SGML</a><br>
  68.  
  69.     <img src="img/s.gif" width="9" height="8"><b class="menu1">SKRYPTY</b><br>
  70.       - <a href="index.php@id=78" class="menu">JavaScript</a><br>
  71.       - <a href="index.php@id=135" class="menu">PHP</a><br>
  72.       - <a href="index.php@id=30" class="menu">CGI</a><br>
  73.  
  74.     <img src="img/s.gif" width="9" height="8"><b class="menu1">INNE</b><br>
  75.       - <a href="index.php@id=59" class="menu">Szablony</a><br>
  76.       - <a href="forum.php" class="menu">Forum</a><br>
  77.       - <a href="index.php@id=61" class="menu">Webmasterska lista</a><br>
  78.       - <a href="index.php@id=128" class="menu">Katalog</a><br>
  79.       - <a href="index.php@id=15" class="menu">BeginnerZone</a><br>
  80.       - <a href="index.php@id=206" class="menu">Konkurs</a><br>
  81.     
  82.     <img src="img/s.gif" width="9" height="8"><b class="menu1">SUBSKRYPCJA</b><br>
  83.       - <a href="subskrypcja/nowa.php" class="menu">Za│≤┐</a><br>
  84.       - <a href="subskrypcja/admin.php" class="menu">Administracja</a><br>
  85.  
  86.     <img src="img/s.gif" width="9" height="8"><b class="menu1">REDAKCJA</b><br>
  87.       - <a href="index.php@id=156" class="menu">Sk│ad</a><br>
  88.       - <a href="index.php@id=157" class="menu">Wsp≤│praca</a><br>
  89.       - <a href="index.php@id=158" class="menu">Reklama</a></td>
  90.     </tr>
  91.     <tr>
  92.     <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  93.     </tr></table>
  94.  
  95. </td>
  96. <td width="486" valign="top"><br>
  97.     <div align="center">
  98.     <table border="0" cellpadding="0" cellspacing="0" width="460">
  99.     <tr>
  100.     <td width="460" valign="top"><table border="0" cellpadding="0" cellspacing="0" width="460">
  101.         <tr>
  102.         <td width="460" valign="top"><img src="img/zobacz.gif" border="0" width="460" height="13" alt="ZOBACZ JESZCZE"></td>
  103.         </tr>
  104.         <tr>
  105.         <td width="460" valign="top" background="img/okno11.gif"><div align="center">
  106.                 <table border="0" cellpadding="0" cellspacing="0" width="450"><tr><td width="450"><a class="menu" href="index.php@id=63">Wpowadzenie</a> 
  107.  <a class="menu" href="index.php@id=64">Historia jΩzyka Java</a> 
  108.  <a class="menu" href="index.php@id=65">Podstawowe informacje</a> 
  109.  <a class="menu" href="index.php@id=66">Typy podstawowe</a> 
  110.  <a class="menu" href="index.php@id=67">Operatory i ich priorytety</a> 
  111.  <a class="menu" href="index.php@id=68">S│owa kluczowe Javy</a> 
  112.  <a class="menu" href="index.php@id=69">Instrukcje steruj▒ce wykonywaniem programu</a> 
  113.  <a class="menu" href="index.php@id=70">Klasy</a> 
  114.  <a class="menu" href="index.php@id=71">Metody i pola</a> 
  115.  <a class="menu" href="index.php@id=72">Dziedziczenie klas</a> 
  116.  <a class="menu" href="index.php@id=73">Interfejsy</a> 
  117.  <a class="menu" href="index.php@id=74">Pakiety</a> 
  118.  <a class="menu" href="index.php@id=76">W▒tki</a> 
  119.  <a class="menu" href="index.php@id=77">Funkcje specjalne</a> </td></tr></table></div></td>
  120.         </tr>
  121.         <tr>
  122.         <td width="460" valign="top"><img src="img/okno21.gif" border="0" width="460" height="10"></td>
  123.         </tr></table><span class="nag">Kurs Javy</span><br>
  124. Java w odr≤┐nieniu od wielu innych jΩzyk≤w programowania posiada bardzo wygodny i skuteczny mechanizm 
  125. obs│ugi b│Ωd≤w. Inaczej ni┐ w C, gdzie rozpoznawanie rozpoznawanie b│Ωd≤w odbywa│o siΩ poprzez sprawdzanie 
  126. wartosci zwracanych przez funkcje, w Javie wywo│ywaniem procedur obs│ugi b│Ωd≤w zajmuje siΩ interpreter.</p>
  127. <p>Poni┐szy przyk│ad poka┐e zasadΩ budowania metod odpowiedzialnych za obs│ugΩ b│Ωd≤w w programach Javy. 
  128. Wykorzystamy do tego konstrukcjΩ "try-catch-finally". Blok "try" zawiera fragment kodu ╝r≤d│owego "cia│a" metody 
  129. (kod w kt≤rym mo┐e pojawiµ siΩ b│▒d). Definiuj▒c ten blok nie precyzujemy o obs│ugΩ jakich b│Ωd≤w chodzi. 
  130. Okre╢lamy nim jedynie obszar wra┐liwy na b│Ωdy, kt≤re chcemy obs│u┐yµ. Je┐eli w trakcie dzia│ania programu 
  131. wyst▒pi b│▒d, dzia│anie procedur bloku "try" zostanie zako±czone, a uruchomione zostan▒ procedury w 
  132. odpowiadajacym mu bloku "catch".</p>
  133. <p>W│asciwa obs│uga b│Ωd≤w (wyj▒tk≤w) przeprowadzana jest wiΩc przez odpowiednie instrukcje w wystΩpuj▒cych dalej 
  134. blokach "catch". Ka┐dy z nich odpowiedzialny jest za obs│ugΩ dok│adnie jednego rodzaju wyj▒tk≤w (dzielenie przez 
  135. zero, niepowodzenie otwarcia pliku etc.).</p>
  136. <p>Blok "finally" wykonywany wykonywany jest zawsze przy obs│udze ka┐dego z powsta│ych wyjÜtk≤w. Co wiΩcej - jest 
  137. on tak┐e wykonywany wtedy, gdy kt≤rys z blok≤w "catch" bΩdzie chcia│ zako±czyµ dzia│anie danej funkcji.. 
  138. Wprzypadku operacji wejscia/ wyjscia korzystnie jest umiesciµ w nim polecenie zamkniΩcia pliku (close).</p>
  139. <pre><b>void</b> Demo
  140.   {
  141.    <b>try</b>
  142.      {
  143.       // implementyacja metody "Demo()"
  144.       // w te cze╢ci nie musi nastepowaµ kontrola wyst▒pienia b│Ωd≤w
  145.      }
  146.    <b>catch</b> (Exeption1)
  147.      {
  148.       // obs│uga wyj▒tku Exption1
  149.      }
  150.    
  151.    <b>catch</b> (Exeption2)
  152.      {
  153.       // obs│uga wyj▒tku Exption2
  154.      }
  155.    <b>catch</b> (Exeption3)
  156.      {
  157.       // obs│uga wyj▒tku Exption3
  158.      }
  159.    // ...
  160.    <b>finally</b>
  161.      {
  162.       // zako±czenie dzia│anmia metody;
  163.       // tu znajduj▒ siΩ operacje , kt≤re bezwzglΩdnie musz▒
  164.       // zostaµ wykonane (np. zamkniΩcie pliku)
  165.      }
  166.   }</pre>
  167. <p>A tak na marginesie wszystkie wyj▒tki to obiekty (wzglΩdnie klasy) utworzone jako pochodne klasy "Exeption". 
  168. Zamiast wiΩc podawaµ konkretny typ wyj▒tku, jak na przyk│ad "IOExeption", s│u┐▒cy do obs│ugi b│Ωd≤w 
  169. wystΩpuj▒cych podczas operacji wejcia/wyjscia, mo┐na r≤wnie┐ bezposrednio wywo│aµ "catch (Exeption e)". Taki 
  170. blok "catch " zostanie wywo│any niezale┐nie od rodzaju wyj▒tku, jaki wyst▒pi│. Z regu│y nie jest to dzia│anie 
  171. po┐▒dane - du┐o korzystniejsza jest sytuacja, gdy jeden konkretny blok odpowiedzilny jest za obs│ugΩ jednego 
  172. rodzaju b│Ωdu. W wydatny spos≤b pozwala to zachowaµ wiΩksz▒ przejrzystosµ kodu programu.</p>
  173. <p>Interpreter Javy podczas wykonywania programu udostΩpnia wiele najczΩsciej wystΩpuj▒cych wyj▒tk≤w (na przyk│ad 
  174. b│ad dzielenia przez zero). CzΩsto koniecze jest jednak definiowanie ca│kiem nowych typ≤w wyj▒tk≤w lub te┐ 
  175. bezporednie wywo│anie procedur ich obslugi. Poniewa┐ wyj▒tek to te┐ obiekt, tworzenie ich nowych typ≤w jest 
  176. mo┐liwe poprzez dziedziczenie od klasy bazowej "Exeption".</p>
  177. <p>Do wygenerowania konkretnego rodzaju wyj▒tku mo┐emy siΩ pos│ugiwaµ poleceniem "throw". Jako parametru 
  178. u┐ywamy odpowiedniego dla tego polecenia obiektu. Klasa, kt≤ra wygeneruje dany wyj▒tek zbudowana bΩdzie w 
  179. nastΩpuj▒cy spos≤b:</p>
  180. <pre><b>public</b> DemoClass <b>throws</b> DemoException
  181.   {
  182.    // ...
  183.    <b>if</b> (Wyst▒pi│B│▒d)
  184.      <b>trow</b> <b>new</b> DemoException;
  185.    // ...
  186.   }</pre>
  187. <p>Dopisuj▒c przy definicji klasy "... throws DemoExeption" informujemy kompilator (i innych programist≤w), ┐e 
  188. metody tej klasy mog▒ generowaµ wyj▒tki typu "DemoExceptions". Jesli w trakcie dzia│ania programu, wyst▒pi│by 
  189. wyj▒tek tego typu, automatycznie nast▒pi odszukanie blokuá"catch", odpowiedzilnego za jego obs│ugΩ. W celu 
  190. znalezienia wspomnianego bloku zostanie przeszukany ca│y stos wywo│a± funkcji (to znaczy caly call-stack).Wyj▒tek 
  191. zostanie obs│u┐ony przez pierwszy znaleziony blok "catch". Wten spos≤b mo┐liwe jest wiΩc scis│e dopasowanie 
  192. zachowania programu w sytuacji wyst▒pienia ktoregos z wyj▒tk≤w.</p>
  193. <p>Podczas przetwarzania kodu programu kompilator sprawdza, czy program posiada bloki "catch", odpowiedzialne 
  194. za obs│ugΩ wzystkich b│Ωd≤w, jakie potencjalnie mog▒ wyst▒piµ. Program podlega dalszemu przetworzeniu jedynie 
  195. w≤wczas, gdy zostanie znaleziony taki blok dla ka┐dego definowanych przez program wyj▒tk≤w. Nie oznacza to 
  196. oczywiscie, ┐e program napisany w Javie musi zawieraµ kod metod ob│ugi wszystkich b│Ωd≤w, jakie mog▒ siΩ 
  197. pojawiµ w trakcie jego dzia│ania. W przypadku wyst▒pienia wyj▒tku rodzaju "RuntimeException" (na przyk│ad 
  198. dzielenie przez zero) je┐eli tylkko dla tego wyj▒tku nie zosta│a zaimplementowana wprost ┐adna procedura obs│ugi, 
  199. jego obs│ug▒ zajmuje siΩ system.Natomiast w sytuacji wyst▒pienia wyj▒tku, kt≤rego program nie mo┐e przechwyciµ, 
  200. Java Virtual Machine ko±czy dzi│anie programu.</p>
  201. <p>Oczywiscie programista nie jest zmuszony do korzystania z wyj▒tk≤w. Ka┐dy, kto do obs│ugi b│Ωd≤w wola│by u┐yµ 
  202. klasycznych instrukcji <b>if-else</b>, mo┐e to oczywiscie uczyniµ unikaj▒c stosowania blok≤w "try-catch". Nawet i tym 
  203. najbardziej zagorza│ym zwolennikom jΩzyka C z pewnosci▒ nie zaszkodzi zapoznanie siΩ z t▒ now▒ technik▒. Wyj▒tki 
  204. pozwalaj▒ na zachowanie przejrzystej struktury programu, pomagaj▒ unikaµ b│Ωd≤w wynikaj▒cych z niedok│adnosci, 
  205. a tym samym skracaj▒ czas tworzenia programu.</p>
  206. <br></td>
  207.     </tr></table>
  208.     </div>
  209. </td>
  210. <td width="142" valign="top">
  211.  
  212.         <br>
  213.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  214.         <tr>
  215.         <td width="142" valign="top"><img src="img/login.gif" border="0" width="142" height="13" alt="LOGIN"></td>
  216.         </tr>
  217.         <tr>
  218.         <td width="142" valign="top" background="img/okno1.gif">
  219.         
  220.             
  221.             <div align="center">
  222.             <table cellpadding="0" cellspacing="2" border="0" width="98%">
  223.             <form method="post" action="subskrypcja/login.php">
  224.             <tr><td width="30%"><span class="t">Login:</span></td><td width="68%"><input type="text" name="login" size="15" class="login"></td></tr>
  225.             <tr><td width="30%"><span class="t">Has│o:</span></td><td width="68%"><input type="password" name="haslo" size="15" class="login"></td></tr>
  226.             
  227.             <tr><td colspan="2"><center><input type="image" src="img/ok.gif"></td></tr>
  228.             </form></table></div>
  229.         
  230.         </td>
  231.         </tr>
  232.         <tr>
  233.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  234.         </tr></table>
  235.  
  236.         <br>
  237.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  238.         <tr>
  239.         <td width="142" valign="top"><img src="img/art.gif" border="0" width="142" height="13" alt="ARTYKULY"></td>
  240.         </tr>
  241.         <tr>
  242.         <td width="142" valign="top" background="img/okno1.gif">
  243.         
  244.         <span class="m">
  245.         
  246.          -<a href="index.php@id=1" class="menu">"Edytory HTML'a"</a><br>
  247.          -<a href="index.php@id=2" class="menu">"Publikowanie witryny"</a><br>
  248.          -<a href="index.php@id=3" class="menu">"PHP w domu"</a><br>
  249.          -<a href="index.php@id=4" class="menu">"Przeszukiwanie stron"</a><br>
  250.          -<a href="index.php@id=204" class="menu">"Wprowadzenie do Javy"</a><br>
  251.          -<a href="index.php@id=210" class="menu">"Grafika w PHP"</a>
  252.         </span>
  253.         
  254.         </td>
  255.         </tr>
  256.         <tr>
  257.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  258.         </tr></table>
  259.         
  260.         <br>
  261.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  262.         <tr>
  263.         <td width="142" valign="top"><img src="img/stat.gif" border="0" width="142" height="13" alt="ARTYKULY"></td>
  264.         </tr>
  265.         <tr>
  266.         <td width="142" valign="top" background="img/okno1.gif"><div align="left"><table border="0" cellpadding="0" cellspacing="0" width="138"><tr><td width="138"><ol><li><a href="index.php@id=135" class="stat">PHP - przyk│adowe skrypty</a> <span class="maleczarne">(1491)</span><br><li><a href="index.php@id=59" class="stat">Szablony 1</a> <span class="maleczarne">(833)</span><br><li><a href="index.php@id=145" class="stat">Kurs PHP</a> <span class="maleczarne">(817)</span><br><br><span class="maleczarne">ú▒cznie: 24155</span>        </ol>
  267.         <center><a href="http://stat.webmedia.pl/cgi-bin/anal?webarea" target="_blank">
  268. <img border=0 src="http://stat.webmedia.pl/cgi-bin/stat?webarea&stat4ur" alt="stat4u" width="40" height="10"></a></center>
  269.         </td></tr></table></div>
  270.         </td>
  271.         </tr>
  272.         <tr>
  273.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  274.         </tr></table>
  275.         
  276.         <br>
  277.         <table border="0" cellpadding="0" cellspacing="0" width="142">
  278.         <tr>
  279.         <td width="142" valign="top"><img src="img/sponsor.gif" border="0" width="142" height="13" alt="SPONSOR"></td>
  280.         </tr>
  281.         <tr>
  282.         <td width="142" valign="top" background="img/okno1.gif"><br>
  283.         <center><EMBED src="img/beep2.swf" quality=high bgcolor=#000000 WIDTH=120 HEIGHT=30></center>                            
  284.         </td>
  285.         </tr>
  286.         <tr>
  287.         <td width="142" valign="top"><img src="img/okno2.gif" border="0" width="142" height="10"></td>
  288.         </tr></table>
  289.  
  290.         <br>
  291.             <div align="center"><table border="0" cellpadding="2" cellspacing="0" width="120">
  292.             <tr>
  293.             <td width="120"><a href="button.php@id=1" target="_blank"><img src="img/cgi.gif" border="0"></a></td>
  294.             </tr>
  295.             <tr>
  296.             <td width="120"><a href="button.php@id=2" target="_blank"><img src="img/ygreg.gif" border="0"></a></td>
  297.             </tr>
  298.             <tr>
  299.             <td width="120"></td>
  300.             </tr>
  301.             </table>
  302.             </div>
  303.         
  304.  
  305. </td>
  306. </tr>
  307. <tr>
  308. <td width="770" valign="top" colspan="3" align="right"><br><br><span class="m">All rights reserved by <a href="mailto:web-area@web-area.org">J&J Filipowscy Design & Code</a></td>
  309. </tr></table></div>
  310.  
  311.  
  312. </body>
  313. </html>