Mysql
 sql >> база данни >  >> RDS >> Mysql

Какво е предимството да използвате try {} catch {} спрямо if {} else {}

Бих използвал блока try/catch, когато нормалният път през кода трябва да продължи без грешка, освен ако наистина има някои изключителни условия - като сървърът не работи, вашите идентификационни данни са изтекли или са неправилни. Не бих го използвал непременно, за да обработвам неизключителни грешки - да речем, че текущият потребител не е в правилната роля. Тоест, когато можете разумно да очаквате и да се справите с грешка, която не е извънредно условие, мисля, че трябва да направите своите проверки.

В случая, който описахте - настройка и изпълнение на заявка, блокът try/catch е отличен начин да се справите с него, както обикновено очаквате заявката да успее. От друга страна, вероятно ще искате да проверите дали съдържанието на резултата е това, което очаквате с логиката на контролния поток, а не просто да се опитвате да използвате данни, които може да не са валидни за вашата цел.

Едно нещо, за което искате да внимавате, е небрежното използване на try/catch. Try/catch не трябва да се използва, за да се предпазите от лошо програмиране - типът "Не знам какво ще се случи, ако направя това, така че ще го обвия в опит/улов и се надявам на най-доброто" на програмиране. Обикновено ще искате да ограничите видовете изключения, които хващате, до тези, които не са свързани със самия код (сървър не работи, лоши идентификационни данни и т.н.), за да можете да намерите и коригирате грешки, които са свързани с кода (нулеви указатели и т.н. .).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Защо правилата COLLATION се игнорират от оператора LIKE за немски символ ß

  2. Най-добри практики за меко изтриване (PHP/MySQL)

  3. Проблем с извеждането на арабски текст в php mysql utf-8

  4. Грешка при хибернация при запазване на типа данни TEXT

  5. Как да създадете и вмъкнете JSON обект с помощта на MySQL заявки?