Wpis z mikrobloga

jestem początkującym programistą #webdev, a pierwsze kroki stawiam w języku dla podludzi, czyli #php i mam pytanie:

do czego konkretnie służy instrukcja try/catch i jaka jest zaleta jej stosowania względem zwykłego if/else? mógłby ktoś podać konkretny przykład?
  • 12
  • Odpowiedz
@meh0w:

To nie ma nic wspólnego z if else? If/Else to warunek, a w try catch o co innego chodzi.

try

{

część A

}

catch (objekt wyjątku)

{

część B

}

Jak część A wywali błąd to catch przechwyci go i w części B można jakoś obsłużyć

Mówiąc inaczej, nie wywali się program użytkownikowi na pysk, ale z try/catch też trzeba uważać.

Mam nadzieję, że zrozumiale napisałem.

http://php.net//manual/pl/language.exceptions.php
  • Odpowiedz
@meh0w: Potrzebujesz napisac program, ktory otworzy plik i wyswietli kazda linie, zobaczymy:

def openf(fname):

with open(fname,'r') as plik:


for i in plik:


print i


open
f('plik.txt')

wszystko super, ale co sie stanie jesli plik nie istnieje? Skrypt sie wywali.

wiec do takich akcji uzywasz try (sprobuj cos zrobic, a jesli nie to...)

def openf(fname):

try:


with open(fname,'r') as plik:


for i in plik:


print i


except:


print 'nie znaleziono
  • Odpowiedz
@meh0w: występuje w wielu językach i najczęściej używasz tego do obsługi błędów.

Po prostu sobie przetłumacz:

spróbuj {

coś;

} złap(błąd) {

echo '#!$%@?ło się \n';

var_dump(błąd);

}

(o ile dobrze pamiętam php)
  • Odpowiedz