Keresés

Új hozzászólás Aktív témák

  • #82729984

    törölt tag

    válasz pakriksz #42 üzenetére

    Képzeld, tényleg szakértő vagyok.

    Ahogy te gondolod az az ahogy azt móricka elképzeli.
    Mondok egy példát a saját programomból van. A program egy bizonyos ponton csatlakozni akar egy hosthoz, ezért csatlakozás előtt megpróbál egy hostnevet feloldani címmé.
    Hivatkozott API:
    http://developer.android.com/reference/java/net/InetAddress.html#getByName%28java.lang.String%29
    public static InetAddress getByName (String host)
    ...
    Throws
    UnknownHostException if the address lookup fails.

    Ezt az exceptiont a programom el is kapja és lekezeli. Ezen felül a program full internet elérést kér telepítéskor anélkül fel sem települ.

    A programban van lehetőség hibákat reportálni tehát látom ha valakinél elszáll. Na már most van ilyen crash amit beküldtek:

    libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
    ..
    8 Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
    ...
    11 at java.net.InetAddress.getByName(InetAddress.java:289)

    B.zd meg... Az official API szerint ez a függvény ilyen exceptiont nem dobhatna, tehát én nem is kezelem le. A hiba oka, hogy valaki futásidőben megtagadta az internet engedélyt, ugye 4.3-tól volt/van erre lehetőség. És erre a rendszer dob egy olyan exceptiont amilyen ott nem létezik az API szerint...

    na ezt hogy kezeled le? Persze, elkaphatod a világ összes exceptionját, de ugye ez azt jelenti hogy _minden_ egyes sor kódot try catch-be kéne raknod. Mert a fenti a példa rá, hogy bármely utasítás dobhat nem dokumentált exceptiont ha futásidőben tagadod meg az engedélyt. És nem tudod hogy melyik dobhat ilyet.

    Aztán jönnek a hozzád hasonló jóképességü userek és szidják a fejlesztőt hogy elszállt az alkalmazás. Hát ja mert te megtagad az engedélyt amit hivatalosan nem lehetne, a google meg b@szott ledokumentálni hogy egy utasítás milyen exceptionöket válthat ki...

Új hozzászólás Aktív témák