

{"id":14409,"date":"2018-04-28T09:33:50","date_gmt":"2018-04-28T09:33:50","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=14409"},"modified":"2021-12-04T10:16:21","modified_gmt":"2021-12-04T04:46:21","slug":"scala-exceptions-handling","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/","title":{"rendered":"Scala Exceptions &#8211; Scala Exception Handling and Throw Keyword"},"content":{"rendered":"<p>Today, we will discuss\u00a0<a href=\"https:\/\/data-flair.training\/blogs\/scala-tutorial\/\">Scala<\/a> Exceptions and\u00a0Exceptions Handling. We will also learn about the Scala Try-Catch Blocks and the Throws Keyword in Scala. Along with this, we will cover Scala Finally Block and Scala Exception Handling.<\/p>\n<p><em>There may be situations your code may misfunction when you run it. These abnormal conditions may cause your program to terminate abruptly. Such runtime errors are called exceptions.<\/em><\/p>\n<p>So, let&#8217;s start the Scala Exception Tutorial.<\/p>\n<div id=\"attachment_14413\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14413\" class=\"wp-image-14413 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01.jpg\" alt=\"Scala Exceptions - Scala Exception Handling and Throw Keyword\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-14413\" class=\"wp-caption-text\">Scala Exceptions &#8211; Scala Exception Handling and Throw Keyword<\/p><\/div>\n<h3>Introduction to Scala Exceptions<\/h3>\n<p>All Scala Exceptions are unchecked. This is unlike Java, where exceptions are either checked or unchecked. Here, even SQLException and IOException are unchecked. So, let&#8217;s begin with the Exceptions in Scala. I also recommend you to go through our article on<strong><a href=\"https:\/\/data-flair.training\/blogs\/scala-job-opportunities\/\"> Scala Job Opportunities<\/a><\/strong> after reading this article.<\/p>\n<h3>Scala Exception Example<\/h3>\n<p>Take a look at the following Scala Exception example. We declare a function to divide two integers and return the result.<\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; def div(a:Int,b:Int):Float={\r\n    | a\/b}\r\ndiv: (a: Int, b: Int)Float<\/pre>\n<p>Now, let\u2019s call it.<\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; div(1,0)\r\njava.lang.ArithmeticException: \/ by zero\r\n at .div(&lt;console&gt;:12)\r\n ... 28 elided<\/pre>\n<p>As you can see, this raises an Arithmetic\u00a0Exception in Scala.<\/p>\n<p><strong>Learn:<a href=\"https:\/\/data-flair.training\/blogs\/scala-environment-setup\/\"> Scala Environment Setup and get Started with IDE<\/a><\/strong><\/p>\n<h3>Scala Try-Catch Blocks<\/h3>\n<p>When we suspect that a line or a block of code may raise an exception in Scala, we put it inside a try block. <strong>What follows is a catch block.<\/strong> We can make use of any number of Try-Catch Blocks in a program.<\/p>\n<p>Here\u2019s how we would deal with the above situation:<\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; def div(a:Int,b:Int):Float={\r\n    | try{\r\n    | a\/b\r\n    | }catch{\r\n    | case e:ArithmeticException=&gt;println(e)\r\n    | }\r\n    | 0\r\n    | }\r\ndiv: (a: Int, b: Int)Float\r\nscala&gt; div(1,0)\r\njava.lang.ArithmeticException: \/ by zero\r\nres1: Float = 0.0<\/pre>\n<p><strong>a. Another Example<\/strong><\/p>\n<p>Let\u2019s take another example of Scala Exception Handling:<\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; def func(n:Int){\r\n    | try{\r\n    | print(1\/n)\r\n    | var arr=Array(1,4)\r\n    | arr(17)\r\n    | }catch{\r\n    | case e:ArithmeticException=&gt;println(e)\r\n    | case anon:Throwable=&gt;println(\"Unknown exception: \"+anon)\r\n    | }\r\n    | }\r\nfunc: (n: Int)Unit\r\nscala&gt; func(1)<\/pre>\n<p>Unknown exception: java.lang.ArrayIndexOutOfBoundsException: 17<\/p>\n<p>Throwable is a super class in the exception hierarchy. So, if we want our code to be able to handle any kind of exception, we use Throwable.<\/p>\n<p><strong>Learn: <a href=\"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/\">Scala Control Structures<\/a><\/strong><\/p>\n<h3>Scala Finally Block<\/h3>\n<p>Imagine, if you\u2019re working with a resource and an exception occurs in the middle. You still haven\u2019t released the resource. This could be a file, a network connection, or even a database connection. To deal with such a situation, we have the Finally\u00a0Block. We can release all resources in this block. Well, whether an exception happens in your code or not, the code under &#8216;finally&#8217; will run, no matter what.<\/p>\n<p>Let\u2019s take the example of our function for division here:<\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; def func(a:Int,b:Int):Float={\r\n    | try{\r\n    | a\/b}\r\n    | catch{\r\n    | case e:ArithmeticException=&gt;println(e)\r\n    | }\r\n    | finally{\r\n    | println(\"This will print no matter what\")\r\n    | }\r\n    | 0\r\n    | }\r\nfunc: (a: Int, b: Int)Float\r\nscala&gt; func(1,0)\r\njava.lang.ArithmeticException: \/ by zero<\/pre>\n<p>This will print no matter what<br \/>\nres4: Float = 0.0<\/p>\n<h3>Scala Throw Keyword<\/h3>\n<p>We can also explicitly throw a Scala exception in our code. We use the Throw Keyword for this. Let\u2019s create a custom exception.<br \/>\nIn Jewish culture, Bat Mitzvah is coming with age ceremony with age 12 for young boys.<\/p>\n<pre class=\"EnlighterJSRAW\">scala&gt; def batmitzvah(age:Int){\r\n    | if(age&lt;12){\r\n    | throw new Exception(\"Sorry, you're ineligible yet\")\r\n    | }\r\n    | else{ println(\"Eligible\")}\r\n    | }\r\nbatmitzvah: (age: Int)Unit\r\nscala&gt; batmitzvah(10)\r\njava.lang.Exception: Sorry, you're ineligible yet\r\n at .batmitzvah(&lt;console&gt;:13)\r\n ... 28 elided\r\nscala&gt; batmitzvah(13)<\/pre>\n<p>Eligible<\/p>\n<h3>The Throws Keyword<\/h3>\n<p>When we know that certain code throws an exception in Scala, we can declare that to Scala. This helps the caller function handle and enclose this code in Try &#8211; Catch Blocks to deal with the situation. We can either use the throws keyword or the throws annotation.<\/p>\n<pre class=\"EnlighterJSRAW\">@throws(classOf[NumberFormatException])\r\ndef validateit()={\r\n\"abcd\".toInt\r\n}\r\nHere\u2019s another example:\r\n@throws[IOException](\"if the file doesn't exist\")\r\ndef read() = in.read()<\/pre>\n<p>So, this was all about Scala Exceptions. Hope you like our explanation.<\/p>\n<h3>Conclusion<\/h3>\n<p>Now, after going through this Scala Exception Tutorial, you have the understanding of how to deal with your code and what it does when you run it. Stay tuned for more with Scala.<\/p>\n<p>Furthermore, if you have any query, feel free to ask in the comment Section.<\/p>\n<p><strong><a href=\"https:\/\/www.scala-lang.org\/api\/current\/scala\/util\/control\/Exception$.html\">For Reference<\/a><\/strong><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1960,&quot;href&quot;:&quot;https:\\\/\\\/www.scala-lang.org\\\/api\\\/current\\\/scala\\\/util\\\/control\\\/Exception$.html&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251210135510\\\/https:\\\/\\\/www.scala-lang.org\\\/api\\\/current\\\/scala\\\/util\\\/control\\\/Exception$.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-01-23 08:51:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 03:52:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-04 06:51:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-07 15:12:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-25 08:13:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-06 07:52:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-20 13:07:46&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-20 13:07:46&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we will discuss\u00a0Scala Exceptions and\u00a0Exceptions Handling. We will also learn about the Scala Try-Catch Blocks and the Throws Keyword in Scala. Along with this, we will cover Scala Finally Block and Scala Exception&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":14656,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[4428,12442,14672,14691,14692],"class_list":["post-14409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scala","tag-exception-handling","tag-scala-exceptions","tag-the-finally-block","tag-the-throw-keyword","tag-the-throws-keyword"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scala Exceptions - Scala Exception Handling and Throw Keyword - DataFlair<\/title>\n<meta name=\"description\" content=\"Scala Exceptions and Scala Exception Handling: Learn to Scala Try - Catch Blocks, Scala Throws Keyword, Scala Finally block. Scala Exception Example\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scala Exceptions - Scala Exception Handling and Throw Keyword - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Scala Exceptions and Scala Exception Handling: Learn to Scala Try - Catch Blocks, Scala Throws Keyword, Scala Finally block. Scala Exception Example\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-28T09:33:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-04T04:46:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scala Exceptions - Scala Exception Handling and Throw Keyword - DataFlair","description":"Scala Exceptions and Scala Exception Handling: Learn to Scala Try - Catch Blocks, Scala Throws Keyword, Scala Finally block. Scala Exception Example","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/","og_locale":"en_US","og_type":"article","og_title":"Scala Exceptions - Scala Exception Handling and Throw Keyword - DataFlair","og_description":"Scala Exceptions and Scala Exception Handling: Learn to Scala Try - Catch Blocks, Scala Throws Keyword, Scala Finally block. Scala Exception Example","og_url":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-04-28T09:33:50+00:00","article_modified_time":"2021-12-04T04:46:21+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Scala Exceptions &#8211; Scala Exception Handling and Throw Keyword","datePublished":"2018-04-28T09:33:50+00:00","dateModified":"2021-12-04T04:46:21+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/"},"wordCount":555,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1.jpg","keywords":["Exception Handling","Scala Exceptions","The Finally Block","The Throw Keyword","The Throws Keyword"],"articleSection":["Scala Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/","url":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/","name":"Scala Exceptions - Scala Exception Handling and Throw Keyword - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1.jpg","datePublished":"2018-04-28T09:33:50+00:00","dateModified":"2021-12-04T04:46:21+00:00","description":"Scala Exceptions and Scala Exception Handling: Learn to Scala Try - Catch Blocks, Scala Throws Keyword, Scala Finally block. Scala Exception Example","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/04\/Scala-Exceptions-and-Exception-Handling-01-1.jpg","width":1200,"height":628,"caption":"Scala Exception Handling | Scala Exceptions"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/scala-exceptions-handling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Scala Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/scala\/"},{"@type":"ListItem","position":3,"name":"Scala Exceptions &#8211; Scala Exception Handling and Throw Keyword"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=14409"}],"version-history":[{"count":6,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14409\/revisions"}],"predecessor-version":[{"id":104776,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/14409\/revisions\/104776"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/14656"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=14409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=14409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=14409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}