Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3192 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  841  842  843  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1929895
theredled
● REC
Posté le 07-10-2009 à 17:21:32  profilanswer
 

Reprise du message précédent :

masklinn a écrit :


S'pas très utile ça, c'est exceptionner pour le plaisir d'exceptionner :o


Code :
  1. try {
  2.  $validateur1->validate();
  3.  $validateur2->validate();
  4.  $validateur3->validate();
  5.  $validateur4->validate();
  6. }
  7. catch (Exception $e ) {
  8.  die('ya une erreur dans ton bordel');
  9. }


[:bien]

 

Je crois que j'en ai eu besoin une fois :o


Message édité par theredled le 07-10-2009 à 17:22:22

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le 07-10-2009 à 17:21:32  profilanswer
 

n°1929901
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 17:28:58  profilanswer
 

skeye a écrit :


Question de lisibilité, c'est tout.:o
J'aime pas les return de valeurs magiques, 0/1/null etc. et tests qui vont avec...:o


Oui mais non, on est déjà plus là dessus, faut suivre un peu on est au niveau d'en dessous dans la stack (et au niveau du dessus en abstraction) :o

 

C'est aussi (surtout) ce que fait django, dans la validation de formulaires (la validation de modèles est toujours pas include :()

 

Mais chez eux, ça donne:

Code :
  1. def full_clean(self):
  2.    """
  3.    Cleans all of self.data and populates self._errors and
  4.    self.cleaned_data.
  5.    """
  6.    self._errors = ErrorDict()
  7.    if not self.is_bound: # Stop further processing.
  8.        return
  9.    self.cleaned_data = {}
  10.    # If the form is permitted to be empty, and none of the form data has
  11.    # changed from the initial data, short circuit any validation.
  12.    if self.empty_permitted and not self.has_changed():
  13.        return
  14.    for name, field in self.fields.items():
  15.        # value_from_datadict() gets the data from the data dictionaries.
  16.        # Each widget type knows how to retrieve its own data, because some
  17.        # widgets split data over several HTML fields.
  18.        value = field.widget.value_from_datadict(self.data, self.files, self.add_prefix(name))
  19.        try:
  20.            if isinstance(field, FileField):
  21.                initial = self.initial.get(name, field.initial)
  22.                value = field.clean(value, initial)
  23.            else:
  24.                value = field.clean(value)
  25.            self.cleaned_data[name] = value
  26.            if hasattr(self, 'clean_%s' % name):
  27.                value = getattr(self, 'clean_%s' % name)()
  28.                self.cleaned_data[name] = value
  29.        except ValidationError, e:
  30.            self._errors[name] = self.error_class(e.messages)
  31.            if name in self.cleaned_data:
  32.                del self.cleaned_data[name]
  33.    try:
  34.        self.cleaned_data = self.clean()
  35.    except ValidationError, e:
  36.        self._errors[NON_FIELD_ERRORS] = self.error_class(e.messages)
  37.    if self._errors:
  38.        delattr(self, 'cleaned_data')


(un form se valide en validant chacun de ses fields, et un field se valide tout seul comme un grand, sauf le cas particulier du FileField, et il y a des hooks au niveau du form pour pouvoir faire des validations supplémentaires sur un field)

Message cité 1 fois
Message édité par masklinn le 07-10-2009 à 17:33:00

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929904
skeye
Posté le 07-10-2009 à 17:32:55  profilanswer
 

masklinn a écrit :


Oui mais non, on est déjà plus là dessus, faut suivre un peu on est au niveau d'en dessous dans la stack (et au niveau du dessus en abstraction) :o


 
Au niveau au-dessus c'est le même principe - enfin ça dépend comment tu hiérarchise ton process de validation.
Si t'as un validateur "formulaire" qui s'occupe d'appeler les bons validateurs champ par champ tu te retrouves avec le même bordel. Ta structure d'erreurs elle est dans le FormValidator, et pour la faire sortir sans exceptions tu vas forcément passer par un truc moche.:o


---------------
Can't buy what I want because it's free -
n°1929905
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 17:33:59  profilanswer
 

skeye a écrit :

Ta structure d'erreurs elle est dans le FormValidator, et pour la faire sortir sans exceptions tu vas forcément passer par un truc moche.:o


Bah non, tu la renvoies simplement et dans tous les cas, il n'y a pas d'exception ou de cas particulier [:skeye]

Message cité 1 fois
Message édité par masklinn le 07-10-2009 à 17:34:14

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929906
skeye
Posté le 07-10-2009 à 17:34:52  profilanswer
 

masklinn a écrit :


Bah non, tu la renvoies simplement et dans tous les cas, il n'y a pas d'exception ou de cas particulier [:skeye]


...et donc tu vérifies si ta validation renvoie null ou une instance de ton bordel d'erreur...cqfd.[:dawao]

Message cité 2 fois
Message édité par skeye le 07-10-2009 à 17:35:02

---------------
Can't buy what I want because it's free -
n°1929908
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 17:37:09  profilanswer
 

skeye a écrit :


...et donc tu vérifies si ta validation renvoie null ou une instance de ton bordel d'erreur


Non, pourquoi ça renvoierait null [:pingouino dei]

 

Et là encore, la structure d'erreurs n'est pas une erreur, c'est ce que tu demandes :o


Message édité par masklinn le 07-10-2009 à 17:37:25

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929910
Dj YeLL
$question = $to_be || !$to_be;
Posté le 07-10-2009 à 17:46:30  profilanswer
 

Bon, avant de me tirer une balle je viens quand même demander ici :o
 
En ligne de commande :

Code :
  1. echo iconv('utf-8', 'us-ascii//TRANSLIT', 'héhé');
  2. // => hehe


 
Direct sur le site :

Code :
  1. echo iconv('utf-8', 'us-ascii//TRANSLIT', 'héhé');
  2. // => h?h?


 
Pourquoi ? :'(


---------------
Gamertag: CoteBlack YeLL
n°1929915
Dj YeLL
$question = $to_be || !$to_be;
Posté le 07-10-2009 à 18:04:22  profilanswer
 


 
non :(
 
J'ai un fichier .php avec juste ça dedans :
 
<?php echo iconv('UTF-8', 'ascii//TRANSLIT', 'héhé') ?>
 
Et ça me sort h?h?
 
Alors que si je le fais en ligne de commande ( php -a ), ça me sort bien hehe ...
 
Je vais essayer de comparer les php.ini cgi/cli


---------------
Gamertag: CoteBlack YeLL
n°1929916
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 18:08:41  profilanswer
 

Dj YeLL a écrit :

 

non :(

 

J'ai un fichier .php avec juste ça dedans :

 

<?php echo iconv('UTF-8', 'ascii//TRANSLIT', 'héhé') ?>

 

Et ça me sort h?h?

 

Alors que si je le fais en ligne de commande ( php -a ), ça me sort bien hehe ...

 

Je vais essayer de comparer les php.ini cgi/cli


Le fichier a bien le bon encodage sur ton serveur? Et est bien lu correctement? Parce que s'il est parsé en tant que CP-1252 ça va pas marcher :/

Message cité 1 fois
Message édité par masklinn le 07-10-2009 à 18:09:15

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929917
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 07-10-2009 à 18:09:59  profilanswer
 

Alors attends. Tu dis que t'as de l'UTF-8 en entrée, mais ton source est-il bien encodé en UTF-8 ? [:pingouino dei] Parce que sinon, ton iconv va se rater, non ? Puisque ton "héhé" dans ton source sera pas encodé en UTF-8, ba poum, décodage pourri.

 

EDIT : Masklinn [:itm] [:natas]


Message édité par Taiche le 07-10-2009 à 18:10:19

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
mood
Publicité
Posté le 07-10-2009 à 18:09:59  profilanswer
 

n°1929918
Dj YeLL
$question = $to_be || !$to_be;
Posté le 07-10-2009 à 18:11:42  profilanswer
 

masklinn a écrit :


Le fichier a bien le bon encodage sur ton serveur? Et est bien lu correctement? Parce que s'il est parsé en tant que CP-1252 ça va pas marcher :/


 
Oui oui, tout est OK, à l'affichage, ou avec l'utilisation de fonction de traitement sur le texte (remplacement, recherche etc.) y'a aucun souci.
 
Je bosse en 100% UTF-8 depuis un sacré bout de temps, tous mes softs de dev sont configuré comme tels.
 
Et la console est en UTF aussi.


---------------
Gamertag: CoteBlack YeLL
n°1929919
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 07-10-2009 à 18:15:26  profilanswer
 

Alors au hasard je dirais "vérifie avec un éditeur hexadécimal/un Notepad que t'es vraiment en UTF-8", on n'est jamais trop prudent et ça prend 2 secondes [:cosmoschtroumpf]
Ensuite, plutôt que d'avoir des ? dans ton browser, essaie de savoir quel est le véritable caractère derrière (dumpe le résultat de l'iconv dans un fichier côté serveur). P'têt ça t'aidera à déterminer comment se passe l'encodage.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1929920
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 07-10-2009 à 18:17:42  profilanswer
 

Ensuite, tu peux aussi choper d'autres sources de données UTF-8 (base de données, fichier plat, etc...) et tenter le même iconv pour voir. D'ailleurs, t'as déjà tenté de l'UTF-8 en direct dans un source PHP ? Ca s'était bien passé ? Et un iconv dessus aussi ou c'est ta première tentative ?


Message édité par Taiche le 07-10-2009 à 18:17:50

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1929921
Dj YeLL
$question = $to_be || !$to_be;
Posté le 07-10-2009 à 18:19:49  profilanswer
 

Rho ptin j'ai trouvé ... Faut rajouter un setlocale(LC_CTYPE, 'fr_FR.UTF8'); avant...

 

Donc maintenant faut que je vérifie dans mon FW, parce qu'il est censé faire un LC_ALL avec la langue courante :o

 

Merci de votre aide :jap:

 

Edit : Taiche > j'avais déjà testé tout ça. Et le "?" était un vrai "?", et non pas le navigateur qui ne savait pas quoi afficher. (d'ailleurs en allant dans Affichage > Encodage, j'étais bien sur UTF-8 aussi)


Message édité par Dj YeLL le 07-10-2009 à 18:21:11

---------------
Gamertag: CoteBlack YeLL
n°1929923
FlorentG
Posté le 07-10-2009 à 18:42:51  profilanswer
 

skeye a écrit :

...et donc tu vérifies si ta validation renvoie null ou une instance de ton bordel d'erreur...cqfd.[:dawao]


Mais non, t'as une méthode validate() qui retourne un booléen (ou FileNotFound), et du coup c'est tout aussi joli que tes Exceptions sorties de nulles part.

n°1929925
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 18:45:49  profilanswer
 

FlorentG a écrit :

Mais non, t'as une méthode validate() qui retourne un booléen


isValid [:aloy]  
 
validate() n'a aucune raison de renvoyer un booléen :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929927
FlorentG
Posté le 07-10-2009 à 18:47:15  profilanswer
 

masklinn a écrit :

isValid [:aloy]  
 
validate() n'a aucune raison de renvoyer un booléen :o


Hmmm effectivement [:romf] Ou areValid, vu que ce sont des données [:synthe1000000]

n°1929930
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 18:50:40  profilanswer
 

FlorentG a écrit :


Hmmm effectivement [:romf] Ou areValid, vu que ce sont des données [:synthe1000000]


Ça dépend comment c'est appelé. Après, c'est surtout une question de conventions: classiquement, dans les langages ne pouvant postfixer avec "?", le préfixe "is" indique qu'on récupère un flag.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929932
FlorentG
Posté le 07-10-2009 à 19:00:05  profilanswer
 

C'était pour de rire :o
 
Mais je met toujours is, par convention effectivement

n°1929938
skeye
Posté le 07-10-2009 à 19:39:28  profilanswer
 

FlorentG a écrit :


Mais non, t'as une méthode validate() qui retourne un booléen (ou FileNotFound), et du coup c'est tout aussi joli que tes Exceptions sorties de nulles part.


aussi joli ça se discute.[:joce]
Mais bon bref, amha t'as tendance à ne pas utiliser les exceptions dans des cas où ça serait une bonne solution.:o


---------------
Can't buy what I want because it's free -
n°1929939
koskoz
They see me trollin they hatin
Posté le 07-10-2009 à 19:40:55  profilanswer
 

J'ai d'ailleurs été choqué de voir qu'en java on sort des exceptions tout le temps alors qu'en php c'est quelque chose de très rare.


---------------
Twitter
n°1929942
skeye
Posté le 07-10-2009 à 19:41:57  profilanswer
 

koskoz a écrit :

J'ai d'ailleurs été choqué de voir qu'en java on sort des exceptions tout le temps alors qu'en php c'est quelque chose de très rare.


ça a rien de choquant. Pour java c'est présent d'origine, pour php c'est un bricolage rajouté en version 4.


---------------
Can't buy what I want because it's free -
n°1929945
FlorentG
Posté le 07-10-2009 à 19:47:06  profilanswer
 

skeye a écrit :

aussi joli ça se discute.[:joce]


Héhé ouais  [:pure 3d]  
 

skeye a écrit :

Mais bon bref, amha t'as tendance à ne pas utiliser les exceptions dans des cas où ça serait une bonne solution.:o


Ouais peut-être. Mais je considère les Exceptions comme étant un mécanisme pour gérer les trucs super-exceptionnels genre nuclear meltdown.
 
Après y'a de toute manière 10 façons de faire la même chose, les goûts et les couleurs entrent en jeu. Trouve un truc qui te va, l'important c'est que ça fonctionne, et que ça te permette de sortir un bon soft [:romf]

n°1929946
FlorentG
Posté le 07-10-2009 à 19:47:46  profilanswer
 

koskoz a écrit :

J'ai d'ailleurs été choqué de voir qu'en java on sort des exceptions tout le temps alors qu'en php c'est quelque chose de très rare.


En Java y'a même les Checked Exceptions, du coup on voit beaucoup plus de try..catch

n°1929963
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 20:34:35  profilanswer
 

koskoz a écrit :

J'ai d'ailleurs été choqué de voir qu'en java on sort des exceptions tout le temps alors qu'en php c'est quelque chose de très rare.


Regardes pas Python alors, parce qu'en Java les exceptions servent pour les erreurs, en Python elles servent pour n'importe quelle exception, pas juste des erreurs.

FlorentG a écrit :

Ouais peut-être. Mais je considère les Exceptions comme étant un mécanisme pour gérer les trucs super-exceptionnels genre nuclear meltdown.


Bah c'est con. Comme leur nom l'indique, les exceptions ça a été créé pour gérer les cas exceptionnels, pas les cas "super-exceptionnels". Python s'en sert pour indiquer qu'un itérateur est épuisé par exemple (là où en java tu as Iterator.hasNext, en Python l'itérateur balance un StopIteration)

FlorentG a écrit :


En Java y'a même les Checked Exceptions, du coup on voit beaucoup plus de try..catch


Oué mais ça c'était pas spécialement une bonne idée au final :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929964
koskoz
They see me trollin they hatin
Posté le 07-10-2009 à 20:36:28  profilanswer
 

masklinn a écrit :


Regardes pas Python alors, parce qu'en Java les exceptions servent pour les erreurs, en Python elles servent pour n'importe quelle exception, pas juste des erreurs.


 
Tu peux pas faire pareil en java en créant tes propres exceptions ?


---------------
Twitter
n°1929966
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 20:39:28  profilanswer
 

koskoz a écrit :

Tu peux pas faire pareil en java en créant tes propres exceptions ?


Bien sûr que si, mais c'est pas dans la culture, alors qu'en Python si (la notation du "catch" python tend également a être plus pratique: tu peux "catcher" plusieurs types d'exception dans la même clause, alors qu'en java tu peux pas)


Message édité par masklinn le 07-10-2009 à 20:40:25

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929967
FlorentG
Posté le 07-10-2009 à 20:39:54  profilanswer
 

masklinn a écrit :

Python s'en sert pour indiquer qu'un itérateur est épuisé par exemple (là où en java tu as Iterator.hasNext, en Python l'itérateur balance un StopIteration)


Ah ouais ils ont poussé le truc loin [:pingouino]

n°1929968
theredled
● REC
Posté le 07-10-2009 à 20:44:14  profilanswer
 

masklinn a écrit :


Bah c'est con. Comme leur nom l'indique, les exceptions ça a été créé pour gérer les cas exceptionnels, pas les cas "super-exceptionnels". Python s'en sert pour indiquer qu'un itérateur est épuisé par exemple (là où en java tu as Iterator.hasNext, en Python l'itérateur balance un StopIteration)


Ca a quoi comme avantages précisément ?

 

Sinon c'est vrai que python peut davantage se le permettre.. En PHP un catchage d'exception c'est 6 à 8 lignes direct (parce que ces cons ont pas implémenté de syntaxe courte, je sais pas si c'est pareil en Java)

Message cité 2 fois
Message édité par theredled le 07-10-2009 à 20:45:34

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1929971
Proov
Art & Science
Posté le 07-10-2009 à 20:59:09  profilanswer
 

FlorentG a écrit :

[:reddit]
 
1000 Free Farm-Fresh Web Icons
[:vapeur_cochonne]
 
Une certaines ressemblance aux famfamfam, avec en bonus double-format 16x16 et 32x32 [:vapeur_cochonne]


 
 :jap:

n°1929977
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 21:27:50  profilanswer
 

FlorentG a écrit :

Ah ouais ils ont poussé le truc loin [:pingouino]


Assez oui. Et avec ça, la communauté a tendance à coller à EAFP: Easier to Ask for Forgiveness than Permission: au lieu de checker avant, tu lances ta commande et si ça pète tu gère l'erreur.

 

Typiquement pour sortir une valeur d'un k/v, en Python quand la clé n'existe pas ça balance une exception (au lieu de renvoyer null comme en PHP ou en Java), et au lieu de checker la présence de la clé pour pas avoir l'exception, habituellement tu récupères ton machin et tu catche KeyError au cas où :D

Message cité 1 fois
Message édité par masklinn le 07-10-2009 à 21:28:00

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929978
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 21:29:32  profilanswer
 

theredled a écrit :

Ca a quoi comme avantages précisément ?


Par rapport à?
 

theredled a écrit :

Sinon c'est vrai que python peut davantage se le permettre.. En PHP un catchage d'exception c'est 6 à 8 lignes direct (parce que ces cons ont pas implémenté de syntaxe courte, je sais pas si c'est pareil en Java)


En PHP gérer une exception c'est

Code :
  1. try {
  2.    //whatever
  3. } except (WhateverException $e) {
  4.    // whatever
  5. }


non [:petrus dei]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929981
skeye
Posté le 07-10-2009 à 21:35:00  profilanswer
 

masklinn a écrit :


Par rapport à?
 


 

masklinn a écrit :


En PHP gérer une exception c'est

Code :
  1. try {
  2.    //whatever
  3. } except (WhateverException $e) {
  4.    // whatever
  5. }


non [:petrus dei]


presque, catch au lieu d'except.[:petrus75]


---------------
Can't buy what I want because it's free -
n°1929982
theredled
● REC
Posté le 07-10-2009 à 21:37:04  profilanswer
 

masklinn a écrit :


Par rapport à?
 


Autrement :o

masklinn a écrit :


En PHP gérer une exception c'est

Code :
  1. try {
  2.    //whatever
  3. } except (WhateverException $e) {
  4.    // whatever
  5. }


non [:petrus dei]


Ouais, menfin ça reste verbeux et moi je fous les accolades au-dessous, donc soit je pète mes conventions, soit c'est 8 lignes :o
 
Et pas de débat sur la position des accolades, merci [:ofou]


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1929983
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 21:41:14  profilanswer
 


T'es clair sur ce que tu veux faire (vu que tu le fais) :o

theredled a écrit :

Ouais, menfin ça reste verbeux et moi je fous les accolades au-dessous


Oui mais ça s'ton problème si t'es pas très malin :o

 

Parce qu'en utilisant le 1TBS c'est pas beaucoup plus verbeux que l'équivalent en Python:

Code :
  1. try:
  2.    # whatever
  3. except WhateverWhatever, e:
  4.    # whateverwhateverwhatever

Message cité 1 fois
Message édité par masklinn le 07-10-2009 à 21:41:40

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1929986
theredled
● REC
Posté le 07-10-2009 à 21:55:37  profilanswer
 

masklinn a écrit :


Oui mais ça s'ton problème si t'es pas très malin :o


J'ai mon sens de l'esthétique :o

 
masklinn a écrit :


Parce qu'en utilisant le 1TBS c'est pas beaucoup plus verbeux que l'équivalent en Python:

Code :
  1. try:
  2.    # whatever
  3. except WhateverWhatever, e:
  4.    # whateverwhateverwhatever



Ya pas beaucoup plus de lignes que ça, par contre ya des accolades partout (en plus des parenthèses obligatoires)

 

Difficile de l'utiliser tous les 3 statements sans donner un truc supra-laid...


Message édité par theredled le 07-10-2009 à 21:56:33

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1929992
FlorentG
Posté le 07-10-2009 à 22:01:08  profilanswer
 

masklinn a écrit :

Typiquement pour sortir une valeur d'un k/v, en Python quand la clé n'existe pas ça balance une exception (au lieu de renvoyer null comme en PHP ou en Java)


Nan c'est pire, ça lève un warning (ou un notice, je sais plus) avant de retourner null, c'est plus rigolo

n°1929999
Skateinmar​s
Posté le 07-10-2009 à 22:06:04  profilanswer
 

theredled a écrit :


Ca a quoi comme avantages précisément ?
 
Sinon c'est vrai que python peut davantage se le permettre.. En PHP un catchage d'exception c'est 6 à 8 lignes direct (parce que ces cons ont pas implémenté de syntaxe courte, je sais pas si c'est pareil en Java)


 
J'aime bien la façon dont ruby on rails s'en sert :
 

Code :
  1. class MonController < ActionController::Base
  2.   rescue_from ActiveRecord::RecordNotFound, :with => :my_404_action
  3.   def show
  4.     @article = Article.find(params[:id])
  5.   end
  6.   protected
  7.   def my_404_action
  8.     #affichage d'un erreur 404 perso avec le bon code etc...
  9.   end
  10. end


---------------
Feedback HAV
n°1930000
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2009 à 22:07:48  profilanswer
 

FlorentG a écrit :


Nan c'est pire, ça lève un warning (ou un notice, je sais plus) avant de retourner null, c'est plus rigolo


Chais pas ce que ça lève, mais c'est pas activé par défaut (je viens de test)


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  841  842  843  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)