Domanda

Domanda da quella intervista.

Si prega di spiegare che cosa fa questo codice C ++ media:

void Foo() throw;
È stato utile?

Soluzione

void Foo() throw;

Questa è una Errore di sintassi . La grammatica per la specifica eccezione (C ++ 98 §15.4) è:

  

specifica delle eccezioni:

     
    

throw ( tipo-id-list opt )

  

Si noti che le parentesi sono obbligatori.


D'altra parte,

void Foo() throw();

significa che la funzione Foo() non buttare eccezioni.

Altri suggerimenti

void Foo() throw; è mal-formata.

Invece mezzi void Foo() throw(); che la funzione 'Foo' è dichiarata in modo tale che non genera alcuna eccezione

  

$ 15.4 / 10 - "funzione A senza   specifica delle eccezioni permette a tutti   eccezioni. Una funzione con un vuoto   exceptionspecification, throw (), lo fa   Non consentire eccezioni ".

in un'intervista, questa domanda offre una buona occasione per parlare di verifica un'eccezione; le differenze tra C ++ e Java; le preferenze personali e opinioni; un momento in cui la verifica un'eccezione ha danneggiato o aiutato, ecc E 'il tipo di domanda che non è tanto sulla letteralmente risposta corretta frase singolo che indica la regola della sintassi, ma più su un invito a parlare del modo in cui si programma e pensare. Potrebbe essere pericoloso se si fa finta di sapere più di te, o se la filosofia è molto diversa dalla loro.

Questo significa lo sviluppatore non usa significativo i nomi di funzione ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top