MZUZone



Strona główna

Część 1

Część 2

Część 3

Część 4

Linki


Napisz do autora


< Poprzedni^ Wyższy poziom ^Następny >

ircII dla zaawansowanych
ERRORS - CO SIE ZDARZA

Treść: Vader!vader@irc.pl
Wykonanie: mzu!mzu@ircii.prv.pl


Podczas IRCowania/Ładowania wyskakują czasem teksty, które mają nasinformować o błędach. Niestety nie podają gdzie i z jakiej to przyczyny. HelpircII również tego nie uwzględnia. Poniższa lista pochodzi z moich własnychprób i błędów.




  • Unmatched '}'
      Gdzieś jest za dużo '}'. Zazwyczaj źle napisany alias lubwarunek. Może się również pojawić w ASSIGNach np:
      @ blah = [${blah + 2}}]


  • Unmatched '{'
    Missing '{'
      Wbrew pozorom, to inna para kaloszy niż przykład powyżej.Nigdzie nie jest za dużo '{'. Dokładnie, z przyczyn nieopisanych w żadnym helpie, występuje zbyt dużo '{' i '}'(czyli np. IF) w jakimś poleceniu np. IF np:
      alias xyz {     if (blah) {     if (1) {        ......      }           }           }             
      Pomiędzy '}' i '{' ograniczającymi 'if (blah)' pojawiło się zbyt dużo innych '{' i '}'. Nie ma rady, trzeba to jakośrozbić na inne IFy lub aliasy.Oczywiście nie dotyczy to tylko IF, może być również przyWHILE, FEC, FOREACH...To nie dotyczy głównego '{' i '}' (tutaj alias xyz). Aliasymogą być dowolnie długie, jeżeli w ich środku nie będzie zbytdługich wewnętrznych '{' i '}' (tu 'if (blah) {').

  • Unexepted EOF
      Brakuje jednego '}' lub jest za dużo '{'. Wystarczy przeliczyćjedne i drugie oraz uzupełnić.


  • Missing THEN condition in IF
      Nie zgadza się liczba '(' i ')'.


  • Assign name may not '-' contain
      Zła nazwa assigna. Dotyczy nie tylko '-', również wszystkichznaczków specjalnych jak np: ! # $ % * . , < > ? / np:
      assign raz-dwa-trzy 123

  • KICK not enough parameters
      Brakuje kanału lub nicka do wywalenia. To samo dotyczywszystkich poleceń QUOTE.


Tyle tytułem błędów, o których informuje nas iRCII. Reszty należysię domyśleć na podstawie efektów, lub co gorsze, na podstawie ich braku.
  1. Na publicu pojawiają się jakieś niezamierzone teksty:
    <$N> #kanał

    (tak jak byś zrobił '/say #kanał'). Najpewniej ASSIGN źle zapisany:
    @ blah [#kanał](brakuje '=').

  2. Alias jest zapisany poprawnie (zgadzają się '{' i '}'), jednak niechce się skubany wykonywać i nie ma go na liście /alias.
    Prosta rada: NIEDBALY ZAPIS lub cos się przykleiło do '}' lub '{':
    alias blah {       echo BLAH          if ([$0]) {        echo [] $0-    }              }^I            
    To '^I' przy '}' ma oznaczać TAB. Takie cuś, choć cały alias jestOK, powoduje ze alias nie zostaje wpisany do pamięci.Druga sprawa to niedbały zapis. Jak ktoś rozpisuje się w ten sposób:
    alias blah             {  echo BLAH          if ([$0]) {echo [] $0-} }                   
    to ja nic nie poradzę... Polowa błędów bierze się właśnie z czegoś takiego.

  3. Nie można nic robić, iRC Client się zapchał.
    O ile to nie jest winaTwojego Hosta (zawiesił się), to zapewne WAIT narozrabiał. UżycieWAIT mówi ircII, żeby czekał, aż IRC Server prześle wszystko co maprzesłać. Przy wojnie opów takie cos, to samobójstwo. Jeżeli nieWAIT, to na pewno WHILE. Wg. mnie należy unikać WAIT w ogóle, a WHILEużywać przy pętlach poniżej 20 cykli. Ostatecznie przyczynazapchania się ircII może być FEC lub FOREACH, ale trudno... nic tegonie możelub juz zastapic. (przy petli 100 cykli FOREACH potrzebujeok. 1 sekundy, podczas gdy WHkilkanaściescie)

Problemy sygnalizowane przez IRC Servomówioneisąe sa wON NUMERKI Errors.


< Poprzedni^ Wyższy poziom ^Następny >