Comment puis-je éviter l'objet null erreur de référence
J'ai de la fonction init, qui fonctionne sur le creationComplete de l'application. L'init appels get_login_share_object fonction, dans laquelle les objets sont créés, qui sont nulles.
Maintenant, mon problème est que j'arrive à un objet null erreur de référence sur l'Alerte dans "init()". Comment puis-je l'éviter. Est-il possible que je peux vérifier, si les objets sont à null le programme devrait, sautez simplement la lecture de la des objets.
private function init():void
{
var stored_credentials:Object = get_login_share_object();
Alert.show(stored_credentials.check_remember +" "+ stored_credentials.alias +" "+ stored_credentials.password );
}
private function get_login_share_object():Object
{
//create or retrieve the current shared object
var so:SharedObject = SharedObject.getLocal("loginData","/");
var dataToLoad:ByteArray = so.data.ws_creds;
if(!dataToLoad)
return null;
//read in our key
var aes_key:String = ServerConfig.aes_key;
var key:ByteArray = new ByteArray();
key = Base64.decodeToByteArray(aes_key);
//read in our encryptedText
var encryptedBytes:ByteArray = new ByteArray();
dataToLoad.readBytes(encryptedBytes);
//decrypt using 256b AES encryption
var aes:ICipher = Crypto.getCipher("simple-aes128-ctr", key, Crypto.getPad("pkcs5"));
aes.decrypt(encryptedBytes);
encryptedBytes.position = 0;
var obj:Object = new Object();
obj.alias = encryptedBytes.readUTF();
obj.password = encryptedBytes.readUTF();
obj.check_remember = encryptedBytes.readUTF();
return obj;
}
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le vérifier la valeur null comme ceci:
Vous devriez chercher à savoir pourquoi ces valeurs sont nulles et de corriger cela d'abord. En règle générale, si vous vous attendez à une valeur, il ne devrait pas être null.
Si vraiment il est prévu que certaines de ces valeurs sont nulles, alors oui, vous pouvez les vérifier en premier de deux façons:
ou
Votre problème est ici:
Si il n'y a pas de données pour le chargement, vous êtes de retour d'une valeur null. Ainsi, lorsque vous essayez d'accès et le retour de propriétés de l'objet, plus tard, vous obtiendrez l'objet null erreur de référence parce que vous faites référence à un objet null. 🙂
Il ya un couple de solutions simples à ce. Vous pouvez vérifier si la valeur de retour est nulle avant que vous essayez de faire référence à toutes les propriétés comme suit:
Ou vous pouvez arrêter de retourner une valeur null à partir de votre get_login_share_object fonction. Ce que vous revenez à la place est totalement à vous, assurez-vous qu'il retourne un objet avec toutes les propriétés que vous faites référence.