{"id":24640,"date":"2015-08-24T20:56:09","date_gmt":"2015-08-24T18:56:09","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=24640"},"modified":"2015-08-24T20:57:45","modified_gmt":"2015-08-24T18:57:45","slug":"exceptions-and-errors-in-php-7","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/","title":{"rendered":"Exceptions and Errors in PHP 7"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>&#8220;<a href=\"http:\/\/daveyshafik.com\/archives\/69237-an-exceptional-change-in-php-7-0.html\">An Exceptional Change in PHP 7.0<\/a>&#8221; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. \u00a0Among simple descriptions, there is <a href=\"https:\/\/gist.github.com\/dshafik\/4763f5497013745d01b8\">this reference chart<\/a>:<\/p>\n<pre class=\"brush: plain; light: true; title: ; notranslate\" title=\"\">\r\n\\Throwable\r\n\u251c\u2500\u2500 \\Exception (implements \\Throwable)\r\n\u2502   \u251c\u2500\u2500 \\LogicException (extends \\Exception)\r\n\u2502   \u2502   \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException)\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 \\BadMethodCallException (extends \\BadFunctionCallException)\r\n\u2502   \u2502   \u251c\u2500\u2500 \\DomainException (extends \\LogicException)\r\n\u2502   \u2502   \u251c\u2500\u2500 \\InvalidArgumentException (extends \\LogicException)\r\n\u2502   \u2502   \u251c\u2500\u2500 \\LengthException (extends \\LogicException)\r\n\u2502   \u2502   \u2514\u2500\u2500 \\OutOfRangeException (extends \\LogicException)\r\n\u2502   \u2514\u2500\u2500 \\RuntimeException (extends \\Exception)\r\n\u2502       \u251c\u2500\u2500 \\OutOfBoundsException (extends \\RuntimeException)\r\n\u2502       \u251c\u2500\u2500 \\OverflowException (extends \\RuntimeException)\r\n\u2502       \u251c\u2500\u2500 \\RangeException (extends \\RuntimeException)\r\n\u2502       \u251c\u2500\u2500 \\UnderflowException (extends \\RuntimeException)\r\n\u2502       \u2514\u2500\u2500 \\UnexpectedValueException (extends \\RuntimeException)\r\n\u2514\u2500\u2500 \\Error (implements \\Throwable)\r\n    \u251c\u2500\u2500 \\AssertionError (extends \\Error)\r\n    \u251c\u2500\u2500 \\ParseError (extends \\Error)\r\n    \u2514\u2500\u2500 \\TypeError (extends \\Error)\r\n<\/pre>\n<p>Very handy!<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>&#8220;An Exceptional Change in PHP 7.0&#8221; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. \u00a0Among simple descriptions, there is this reference chart: \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException (extends \\BadFunctionCallException) &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Exceptions and Errors in PHP 7<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Exceptions and Errors in PHP 7 #WebDev #PHP","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[38,1330],"keyring_services":[],"class_list":["post-24640","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-php","tag-web-development"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"&quot;An Exceptional Change in PHP 7.0&quot; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=&quot;true&quot;] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Exceptions and Errors in PHP 7 - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"&quot;An Exceptional Change in PHP 7.0&quot; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=&quot;true&quot;] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-08-24T18:56:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-08-24T18:57:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Exceptions and Errors in PHP 7 - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"&quot;An Exceptional Change in PHP 7.0&quot; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=&quot;true&quot;] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#blogposting\",\"name\":\"Exceptions and Errors in PHP 7 - Leonid Mamchenkov\",\"headline\":\"Exceptions and Errors in PHP 7\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2015-08-24T20:56:09+02:00\",\"dateModified\":\"2015-08-24T20:57:45+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, PHP, web development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#listItem\",\"name\":\"Exceptions and Errors in PHP 7\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#listItem\",\"position\":4,\"name\":\"Exceptions and Errors in PHP 7\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/\",\"name\":\"Exceptions and Errors in PHP 7 - Leonid Mamchenkov\",\"description\":\"\\\"An Exceptional Change in PHP 7.0\\\" blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=\\\"true\\\"] \\\\Throwable \\u251c\\u2500\\u2500 \\\\Exception (implements \\\\Throwable) \\u2502 \\u251c\\u2500\\u2500 \\\\LogicException (extends \\\\Exception) \\u2502 \\u2502 \\u251c\\u2500\\u2500 \\\\BadFunctionCallException (extends \\\\LogicException) \\u2502 \\u2502 \\u2502 \\u2514\\u2500\\u2500 \\\\BadMethodCallException\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/08\\\/24\\\/exceptions-and-errors-in-php-7\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2015-08-24T20:56:09+02:00\",\"dateModified\":\"2015-08-24T20:57:45+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Exceptions and Errors in PHP 7 - Leonid Mamchenkov","description":"\"An Exceptional Change in PHP 7.0\" blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=\"true\"] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#blogposting","name":"Exceptions and Errors in PHP 7 - Leonid Mamchenkov","headline":"Exceptions and Errors in PHP 7","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2015-08-24T20:56:09+02:00","dateModified":"2015-08-24T20:57:45+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#webpage"},"articleSection":"All, Programming, Technology, Web work, PHP, web development"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#listItem","name":"Exceptions and Errors in PHP 7"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#listItem","position":4,"name":"Exceptions and Errors in PHP 7","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/","name":"Exceptions and Errors in PHP 7 - Leonid Mamchenkov","description":"\"An Exceptional Change in PHP 7.0\" blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=\"true\"] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2015-08-24T20:56:09+02:00","dateModified":"2015-08-24T20:57:45+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Exceptions and Errors in PHP 7 - Leonid Mamchenkov","og:description":"&quot;An Exceptional Change in PHP 7.0&quot; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=&quot;true&quot;] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException","og:url":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2015-08-24T18:56:09+00:00","article:modified_time":"2015-08-24T18:57:45+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Exceptions and Errors in PHP 7 - Leonid Mamchenkov","twitter:description":"&quot;An Exceptional Change in PHP 7.0&quot; blog post describes nicely what are the changes to exceptions and error handling in the upcoming PHP 7. Among simple descriptions, there is this reference chart: [code light=&quot;true&quot;] \\Throwable \u251c\u2500\u2500 \\Exception (implements \\Throwable) \u2502 \u251c\u2500\u2500 \\LogicException (extends \\Exception) \u2502 \u2502 \u251c\u2500\u2500 \\BadFunctionCallException (extends \\LogicException) \u2502 \u2502 \u2502 \u2514\u2500\u2500 \\BadMethodCallException","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"24640","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 03:21:05","updated":"2026-01-15 11:37:54","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tExceptions and Errors in PHP 7\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"Exceptions and Errors in PHP 7","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/08\/24\/exceptions-and-errors-in-php-7\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":26776,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/10\/23\/tagbar-phpctags-vim-plugin-for-php-developeres\/","url_meta":{"origin":24640,"position":0},"title":"tagbar-phpctags : Vim plugin for PHP developeres","author":"Leonid Mamchenkov","date":"October 23, 2016","format":false,"excerpt":"If you are using Vim editor to write PHP code, you probably already know about the excellent tagbar plugin, which lists methods, variables and the like in an optional window split. \u00a0Recently, I've learned of an awesome phpctags-tagbar plugin, which extends and improves this functionality via a phpctags tool, which\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"phpctags","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/10\/phpctags-500x270.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27279,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/01\/30\/sharing-constants-between-php-classes\/","url_meta":{"origin":24640,"position":1},"title":"Sharing constants between PHP classes","author":"Leonid Mamchenkov","date":"January 30, 2017","format":false,"excerpt":"When writing larger applications, it is often useful to have some constants defined, which can then be shared between different parts of the application. \u00a0There are several ways to do this, and there is no real rocket science here. However, the question is: what's the best way to do so?\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12148,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/02\/17\/cakephp-building-factories-with-models-and-behaviors\/","url_meta":{"origin":24640,"position":2},"title":"CakePHP : Building factories with models and behaviors","author":"Leonid Mamchenkov","date":"February 17, 2010","format":false,"excerpt":"CakePHP is a wonderful framework. \u00a0 Recently I proved it to myself once again (not that I need much of that proof anyway). \u00a0The problem that we had at work was a whole lot of code in once place and no obvious way of how to break that code into\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26051,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/04\/21\/adventure-in-composer-private-repositories\/","url_meta":{"origin":24640,"position":3},"title":"Adventure in composer private repositories","author":"Leonid Mamchenkov","date":"April 21, 2016","format":false,"excerpt":"First of all, I would like to take this opportunity and wish composer a happy birthday and many more years to come. \u00a0It's been five years, and the world of PHP has changed so drastically that not many people remember how it used to be before. I would have completely\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27421,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/17\/cakephp-3-remove-shell-welcome-header\/","url_meta":{"origin":24640,"position":4},"title":"CakePHP 3 : Remove Shell Welcome Header","author":"Leonid Mamchenkov","date":"March 17, 2017","format":false,"excerpt":"CakePHP 3\u00a0has an excellent support for command line Shells, Tasks, and Console Tools. \u00a0There are a few that are bundled with the framework itself, and that come from a variety of plugins. \u00a0And, of course, you can have your own commands, specific to your application. [code light=\"true\"] $ .\/bin\/cake Welcome\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26934,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/22\/dependency-resolution-with-graphs-in-php\/","url_meta":{"origin":24640,"position":5},"title":"Dependency resolution with graphs in PHP","author":"Leonid Mamchenkov","date":"November 22, 2016","format":false,"excerpt":"One of the projects I am working on at work presented an interesting problem. \u00a0I had a list of items with dependencies on one another and I needed to figure out the order in which to use those items, based on their dependencies. For the sake of the example, think\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"dep_graph1","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/11\/dep_graph1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/24640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=24640"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/24640\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=24640"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=24640"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=24640"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=24640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}