{"id":25529012,"date":"2022-06-19T14:07:29","date_gmt":"2022-06-19T08:37:29","guid":{"rendered":"https:\/\/entri.app\/blog\/?p=25529012"},"modified":"2022-06-19T14:07:29","modified_gmt":"2022-06-19T08:37:29","slug":"why-tracking-and-monitoring-all-exceptions-is-important","status":"publish","type":"post","link":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/","title":{"rendered":"Why Tracking and Monitoring All Exceptions is Important"},"content":{"rendered":"<header class=\"entry-header\">\n<p class=\"p-meta\">Modern applications are complex multi-tier and multi-layer systems that consist of multiple client-side apps, web servers, application servers, and database servers. The applications use third-party libraries, communicate with other applications using different communication mechanisms, and rely on cloud services and hosting providers.<\/p>\n<\/header>\n<div class=\"entry-content content\">\n<p><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-25522670 size-full\" src=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Rectangle-1.png\" alt=\"Python and Machine Learning Rectangle\" width=\"970\" height=\"250\" srcset=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Rectangle-1.png 970w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Rectangle-1-300x77.png 300w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Rectangle-1-768x198.png 768w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Rectangle-1-750x193.png 750w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/a><\/p>\n<p>How can you manage that complexity? Your first thoughts probably go to\u00a0application monitoring\u00a0and performance tools. Yet that is not a complete solution. To manage application complexity fully, you also need\u00a0exception monitoring. Without exception monitoring, you\u2019ll never stay ahead of the complexity of modern applications.<\/p>\n<p>Let me explain why?<\/p>\n<div class=\"code-block code-block-33\">\n<div class=\"elementor elementor-30343\" data-elementor-type=\"page\" data-elementor-id=\"30343\" data-elementor-settings=\"[]\">\n<div class=\"elementor-inner\">\n<div class=\"elementor-section-wrap\">\n<section class=\"has_ae_slider elementor-section elementor-top-section elementor-element elementor-element-7dc2e0d elementor-section-boxed elementor-section-height-default elementor-section-height-default ae-bg-gallery-type-default\" data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" data-id=\"7dc2e0d\" data-element_type=\"section\">\n<div class=\"elementor-container elementor-column-gap-default\">\n<div class=\"elementor-row\">\n<div class=\"has_ae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1dde231 ae-bg-gallery-type-default\" data-id=\"1dde231\" data-element_type=\"column\">\n<div class=\"elementor-column-wrap elementor-element-populated\">\n<div class=\"elementor-widget-wrap\">\n<section class=\"has_ae_slider elementor-section elementor-inner-section elementor-element elementor-element-36f748e elementor-section-boxed elementor-section-height-default elementor-section-height-default ae-bg-gallery-type-default\" data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" data-id=\"36f748e\" data-element_type=\"section\">\n<div class=\"elementor-container elementor-column-gap-wide\">\n<div class=\"elementor-row\">\n<div class=\"has_ae_slider elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2c7b5ea ae-bg-gallery-type-default\" data-id=\"2c7b5ea\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n<div class=\"elementor-column-wrap elementor-element-populated\">\n<div class=\"elementor-widget-wrap\">\n<div class=\"elementor-element elementor-element-1e7dccf elementor-widget elementor-widget-spacer\" data-id=\"1e7dccf\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n<div class=\"elementor-widget-container\">\n<div class=\"elementor-spacer\">\n<div class=\"elementor-spacer-inner\">Troubleshooting and optimizing your code is easy with integrated errors, logs and code level performance insights.<\/div>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Grab the opportunity to learn Java with Entri! Click Here<\/a><\/strong><\/h4>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Access_to_failure_data\"><\/span><strong>Access to failure data<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Lots of\u00a0monitoring tools\u00a0exist to help you identify and troubleshoot issues across all application layers. However, most of these tools are designed to show you the overall system state. Only logs, and exceptions in particular, offer insight into a finer level of detail.<\/p>\n<p>By definition, an\u00a0exception\u00a0is an event which occurs during the execution of a program that disrupts the normal flow of the program\u2019s instructions.<\/p>\n<p>Exceptions are used to indicate many different types of error conditions across all the application layers: out of memory, stack overflow, IO problems, null pointer exceptions, network timeouts, and many others. They could indicate system problems, problems in application logic, operating system problems, connectivity problems, and so on.<\/p>\n<p>When an exception occurs within a method, the method creates an object and hands it off to the runtime system. The\u00a0exception object\u00a0contains information about the error, including its type and the state of the program when the error occurred. Therefore, exceptions\u2014 handled or not\u2014provide access to very useful raw data that can be used for:<\/p>\n<ul>\n<li>Early error detection and prevention<\/li>\n<li>Root cause analysis when problems occur<\/li>\n<li>Reconstructing events after a problem occurred<\/li>\n<li>Identifying security problems<\/li>\n<li>Forensic evidence<\/li>\n<\/ul>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Ace your coding skills with Entri !<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Early_problem_detection\"><\/span><strong>Early problem detection<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Many production problems build up gradually. Monitoring tools can often provide an indication that something is awry by monitoring metrics such as CPU load, RAM and storage access and network activity and connectivity, but that information alone can generally not be used to pinpoint the source of a problem. As a result, you run the risk of waiting until a problem becomes critical before you begin looking for the source.<\/p>\n<p>Exception monitoring offers another better way of gaining early insight into production problems. By monitoring exceptions, you can trace a performance issue to its root case, thereby gaining the time and means to spot the problem before it reaches a tipping point and impacts your users or company.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Grab the opportunity to learn Java with Entri! Click Here<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Impact_on_application_performance\"><\/span><strong>Impact on application performance<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Quite often, an app throws a lot of exceptions that might be harmless in terms of application functionality. Sometimes they are even referred to as \u201cgood\u201d exceptions.<\/p>\n<p>However, exception throwing requires stack trace propagation, which basically means that your app pauses to walk back the stack to collect information which will be used to create the stack trace. While this timeout in thread execution is insignificant as a singular event, it can create huge performance overhead on a large scale.<\/p>\n<p>Therefore, \u201cgood\u201d exceptions can have a major impact on an application\u2019s performance, and shouldn\u2019t be left unattended.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Ace your coding skills with Entri !<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Exception_Tracking_and_security\"><\/span><strong>Exception Tracking\u00a0 and security<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Also worth noting is how important exception monitoring is from a security perspective. Following are a couple of reasons why.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Hackers_can_use_information_exposed_by_error_messages\"><\/span><strong>Hackers can use information exposed by error messages<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Application failure often results in throwing an exception. Detailed error messages can provide attackers with useful information such as stack traces, privacy information, and sometimes even passwords, which can lead to security vulnerabilities such as enumeration, buffer attacks, sensitive information disclosure, etc. Even HTTP 404 can expose your server to attacks. While good code is supposed to not allow exceptions to go unhandled, in practice, it\u2019s nearly impossible to anticipate all the cases when an exception could be thrown, and control its content. Furthermore, with all honesty, error handling is rarely robust enough to survive a penetration test. Therefore, actively monitoring your logs for this kind of exposure and taking action to fix it immediately can prevent hacker attacks and drastically improve your system\u2019s security.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Grab the opportunity to learn Java with Entri! Click Here<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Identifying_hacker_attacks\"><\/span><strong>Identifying hacker attacks \u00a0<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In spite of all your efforts, if your system has been hacked, logs are often the only record that suspicious behavior is taking place, even if the system still works fine and all the monitoring tools show no problems. \u00a0For this reason, monitoring exceptions may be your best shot at identifying when your system is being hacked.<\/p>\n<p>The specifics of identifying such suspicious behavior depend on your application\u2019s functionality, but generally you should be looking for any sign of abnormalities in your log files: new error messages and exceptions that could indicate elevation of access privileges, bulk downloads, privacy violations, etc.<\/p>\n<p>Logs are also useful in reconstructing events after a problem has occurred, and as forensic evidence. Event reconstruction can allow a security administrator to determine the full extent of an intruder\u2019s activities and expedite the recovery process.<\/p>\n<div class=\"code-block code-block-33\">\n<div class=\"elementor elementor-30343\" data-elementor-type=\"page\" data-elementor-id=\"30343\" data-elementor-settings=\"[]\">\n<div class=\"elementor-inner\">\n<div class=\"elementor-section-wrap\">\n<section class=\"has_ae_slider elementor-section elementor-top-section elementor-element elementor-element-7dc2e0d elementor-section-boxed elementor-section-height-default elementor-section-height-default ae-bg-gallery-type-default\" data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" data-id=\"7dc2e0d\" data-element_type=\"section\">\n<div class=\"elementor-container elementor-column-gap-default\">\n<div class=\"elementor-row\">\n<div class=\"has_ae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1dde231 ae-bg-gallery-type-default\" data-id=\"1dde231\" data-element_type=\"column\">\n<div class=\"elementor-column-wrap elementor-element-populated\">\n<div class=\"elementor-widget-wrap\">\n<section class=\"has_ae_slider elementor-section elementor-inner-section elementor-element elementor-element-36f748e elementor-section-boxed elementor-section-height-default elementor-section-height-default ae-bg-gallery-type-default\" data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" data-id=\"36f748e\" data-element_type=\"section\">\n<div class=\"elementor-container elementor-column-gap-wide\">\n<div class=\"elementor-row\">\n<div class=\"has_ae_slider elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2c7b5ea ae-bg-gallery-type-default\" data-id=\"2c7b5ea\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n<div class=\"elementor-column-wrap elementor-element-populated\">\n<div class=\"elementor-widget-wrap\">\n<div class=\"elementor-element elementor-element-1e7dccf elementor-widget elementor-widget-spacer\" data-id=\"1e7dccf\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n<div class=\"elementor-widget-container\">\n<div class=\"elementor-spacer\">\n<div class=\"elementor-spacer-inner\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"elementor-element elementor-element-8d02602 elementor-widget elementor-widget-heading\" data-id=\"8d02602\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n<div class=\"elementor-widget-container\">\n<div class=\"elementor-heading-title elementor-size-default\">Troubleshooting and optimizing your code is easy with integrated errors, logs and code level performance insights.<\/div>\n<div>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Ace your coding skills with Entri !<\/a><\/strong><\/h4>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<header class=\"entry-header\">\n<h2 class=\"entry-title\"><span class=\"ez-toc-section\" id=\"Types_of_Exceptions_in_Java_%E2%80%93_Checked_Unchecked_Error\"><\/span><strong>Types of Exceptions in Java \u2013 Checked, Unchecked, &amp; Error<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/header>\n<div class=\"entry-content\">\n<p>Now, we will learn about the different types of exceptions in Java checked exceptions, unchecked exceptions, and errors.<\/p>\n<p>Exceptions can happen in any scenario, and all developers would have come across exceptions, for example, whenever we try to\u00a0read a file\u00a0that doesn\u2019t exist or whenever we try to read the elements in an array\u00a0beyond its size\u00a0and so on.<\/p>\n<p>It is always better to know which exception occurs in which situation so that we will have better control in\u00a0handling the exception.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Ace your coding skills with Entri !<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Types_of_Exceptions_in_Java\"><\/span><strong>Types of Exceptions in Java<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Exceptions can be divided into three main categories<\/p>\n<ol>\n<li>Checked exceptions (Compile-time\u00a0exceptions)<\/li>\n<li>Unchecked exceptions (Runtime exceptions)<\/li>\n<li>Errors<\/li>\n<\/ol>\n<p><a href=\"https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6769 lazyloaded\" src=\"https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java.png\" srcset=\"https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java.png 1166w, https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-300x145.png 300w, https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-1024x494.png 1024w, https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-768x371.png 768w\" alt=\"Types of Exceptions in Java\" width=\"1166\" height=\"563\" data-ll-status=\"loaded\" \/><\/a><br \/>\nAll the exceptions descend from the\u00a0Throwable\u00a0class, and then the hierarchy splits into two branches\u00a0Error\u00a0and\u00a0Exception.<\/p>\n<p>Error\u00a0hierarchy describes the\u00a0internal error\u00a0or any\u00a0resource exhaustion\u00a0or any other\u00a0malfunction\u00a0which happens in the JVM. On the other hand, the\u00a0Exceptions\u00a0branch further splits into two\u00a0IOException\u00a0and\u00a0Runtime exceptions.<\/p>\n<p>Except for the\u00a0Error\u00a0and\u00a0RuntimeException\u00a0and its\u00a0subclasses, all other classes will be a part of\u00a0Checked Exception\u00a0(Compile-time exception).<\/p>\n<p>Checked Exception\u00a0happens on the occurrence of events which is beyond the control of the JVM like File not present or reading from the database where there might be a situation that the database is down etc.<\/p>\n<p>Whereas\u00a0Runtime Exception\u00a0happens due to\u00a0bad programming\u00a0such as\u00a0not handling null\u00a0properly,\u00a0dividing a number by zero, etc.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Grab the opportunity to learn Java with Entri! Click Here<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"1_Checked_Exception_or_Compile_Time_Exception\"><\/span><strong>1. Checked Exception or Compile Time Exception<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A\u00a0<strong>Checked Exception\u00a0<\/strong>or\u00a0<strong>Compile-Time Exception<\/strong>\u00a0is a subclass of the\u00a0<strong>java.lang.Exception<\/strong>\u00a0<strong>but not<\/strong>\u00a0a\u00a0<strong>subclass<\/strong>\u00a0of\u00a0<strong>java.lang.RuntimeException<\/strong>.<\/p>\n<p><strong>Checked Exception<\/strong>\u00a0is the exception that will be checked during the\u00a0<strong>compile-time<\/strong>, if a method throws a checked exception then the calling method must have one of the below<\/p>\n<ul>\n<li>A\u00a0<strong>try-catch<\/strong>\u00a0block to handle the exception<\/li>\n<\/ul>\n<p>(or)<\/p>\n<ul>\n<li>Throw the exception using\u00a0<strong>throws keyword\u00a0<\/strong>in the method signature<\/li>\n<\/ul>\n<p>A checked exception occurs whenever we are doing some operation that is not in the control of the JVM.<\/p>\n<p>For example, Let\u2019s try to open a file.<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\nimport java.io.FileInputStream;\r\n\r\npublic class FileRead\r\n{\r\n   public static void main(String[] args)\r\n   {\r\n      FileInputStream fileInputStream = new FileInputStream(\"test.txt\");\r\n   }\r\n}<\/pre>\n<p>The above code throws a compile-time exception\u00a0\u201cFileNotFoundException\u201d,\u00a0as there can be a possibility of file not present at the mentioned location.<\/p>\n<p>When we look at the constructor of\u00a0FileInputStream,<\/p>\n<pre class=\"prettyprint\">public FileInputStream(String name) throws FileNotFoundException {\r\n        this(name != null ? new File(name) : null);\r\n    }<\/pre>\n<p>The declaration says that the above constructor produces the\u00a0FileInputStream\u00a0object using the string parameter passed, and in case of any issues, it will throw\u00a0FileNotFoundException.<\/p>\n<p><a href=\"https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-Checked-Exception.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6771 lazyloaded\" src=\"https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-Checked-Exception.png\" srcset=\"https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-Checked-Exception.png 865w, https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-Checked-Exception-300x189.png 300w, https:\/\/www.javainterviewpoint.com\/wp-content\/uploads\/2020\/07\/Types-of-Exceptions-in-Java-Checked-Exception-768x484.png 768w\" alt=\"Types of Exceptions in Java - Checked Exception\" width=\"865\" height=\"545\" data-ll-status=\"loaded\" \/><\/a><\/p>\n<p>In order to make the above code work we need to enclose it in the\u00a0try-catch\u00a0block or\u00a0throw\u00a0the exception<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\n\r\npublic class FileRead\r\n{\r\n   public static void main(String[] args)\r\n   {\r\n      try\r\n      {\r\n         FileInputStream fileInputStream = new FileInputStream(\"test.txt\");\r\n      } catch (FileNotFoundException e)\r\n      {\r\n         e.printStackTrace();\r\n      }\r\n   }\r\n}<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"2_Unchecked_Exception_or_RunTimeException\"><\/span><strong>2. Unchecked Exception or RunTimeException<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A\u00a0Runtime Exception\u00a0or\u00a0Uncheck Exception\u00a0is a subclass of\u00a0java.lang.RunTimeException\u00a0class. Runtime exception usually occurs because of\u00a0bad programming\u00a0or\u00a0programming error.<\/p>\n<p>Since the\u00a0Unchecked exceptions\u00a0happen during the\u00a0run time,\u00a0we don\u2019t need to throw the exception in the method signature, though we can do it but not mandatory.<\/p>\n<p>For example,\u00a0NullPointerExecption\u00a0is a type of\u00a0RunTimeException\u00a0which occurs when a variable is not assigned an object and still points to\u00a0null.<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\npublic class NullTest\r\n{\r\n   public static void main(String[] args)\r\n   {\r\n      String name = null;\r\n      System.out.println(name.length());\r\n   }\r\n}<\/pre>\n<p>The above code clearly shows that the exception occurred due to\u00a0bad programming. A simple\u00a0null\u00a0check before performing any operation on the variable will sort out the issue.<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\npublic class NullTest\r\n{\r\n   public static void main(String[] args)\r\n   {\r\n      String name = null;\r\n      if (name != null)\r\n         System.out.println(name.length());\r\n   }\r\n}<\/pre>\n<p>Like the Checked exception, we can use a\u00a0try-catch\u00a0to catch the runtime exception.<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\npublic class NullTest\r\n{\r\n   public static void main(String[] args)\r\n   {\r\n      String name = null;\r\n      try\r\n      {\r\n         System.out.println(name.length());\r\n      } catch (NullPointerException ne)\r\n      {\r\n         System.out.println(\"NullPointerException has occured!!\");\r\n      }\r\n   }\r\n}<\/pre>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Grab the opportunity to learn Java with Entri! Click Here<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"3_Error\"><\/span><strong>3. Error<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>An\u00a0Error\u00a0is a subclass of\u00a0java.lang.Error\u00a0class. The\u00a0Error\u00a0indicates a severe issue that cannot be controlled through the code.<\/p>\n<p>For example,\u00a0OutOfMemoryError\u00a0occurs when the\u00a0Java Heap\u00a0space is\u00a0full,\u00a0StackOverflowError\u00a0is another error which the\u00a0JVM\u00a0throws when the stack required for the program is higher than the memory allocated by the\u00a0JRE.<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\npublic class StackOverFlow\r\n{\r\n   public static void main(String args[])\r\n   {\r\n      disp();\r\n   }\r\n\r\n   public static void disp()\r\n   {\r\n      disp();\r\n   }\r\n}<\/pre>\n<p>The above code eventually throws\u00a0StackOverFlowError\u00a0as the\u00a0disp()\u00a0method runs infinite number of times.<\/p>\n<pre class=\"prettyprint\">Exception in thread \"main\" java.lang.StackOverflowError\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)\r\n\tat com.javainterviewpoint.StackOverFlow.disp(StackOverFlow.java:12)<\/pre>\n<p>Tough\u00a0Error\u00a0represents a severe issue, and we should not handle it, we can still catch the\u00a0Error\u00a0like below.<\/p>\n<pre class=\"prettyprint\">package com.javainterviewpoint;\r\n\r\npublic class StackOverFlow\r\n{\r\n   public static void main(String args[])\r\n   {\r\n      try\r\n      {\r\n         disp();\r\n      } catch (StackOverflowError se)\r\n      {\r\n         System.out.println(\"StackOverflowError has occured!!\");\r\n      }\r\n   }\r\n   public static void disp()\r\n   {\r\n      disp();\r\n   }\r\n}<\/pre>\n<p>In Java, an Exception is essentially an event that occurs during the execution of a program and disrupts the program\u2019s normal flow. Exceptions are unwanted and mostly unexpected, which generally arise at either run- or compile-time. All of these Exceptions need to be handled to ensure the program runs in its natural flow.<\/p>\n<p>However, before you handle Exceptions, it would help to know what different kinds of Exceptions are present with Java. Through this article, let\u2019s look at the various types of Exceptions in Java and the Exception Hierarchy that they follow.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_17 counter-hierarchy counter-decimal ez-toc-light-blue\">\n<div class=\"ez-toc-title-container\">\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Ace your coding skills with Entri !<\/a><\/strong><\/h4>\n<\/div>\n<nav><\/nav>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Exceptions_Hierarchy_in_Java\"><\/span><span id=\"Exceptions_Hierarchy_in_Java\" class=\"ez-toc-section\"><\/span><b>Exceptions Hierarchy in Java\u00a0<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The hierarchy of Exceptions in the Java programming language begins with the Throwable class \u2013 which comes from the Object class and is its direct subclasswhileThe Exception class presents all This Throwable class further branches into two subclasses \u2013 Error and Exception. Here\u2019s a flowchart to understand the Java Exception hierarchy better:<\/p>\n<p>The Exception class presents all the Exceptions that you might need to handle while working with the Java programming language. Some commonly known and encountered examples of such Exceptions include NullPointerException, ClassNotFoundException, IllegalArgumentException, etc.<\/p>\n<p>On the other hand, the Error class takes care of more severe problems in your Java program architecture and is not taken care of within the application code. Some examples of errors in Java are InternalError, AssertionError, OutOfMemoryError, etc.<\/p>\n<p>Exceptions in Java are further divided into two categories:<\/p>\n<ul>\n<li>Checked Exceptions \u2013 These are also known as compile-time exceptions.<\/li>\n<li>Unchecked Exceptions \u2013 These are also known as runtime exceptions.<\/li>\n<\/ul>\n<p>One important point to note at this juncture is that unchecked Exceptions are all subclasses of the RuntimeException class. Now, let\u2019s look at essentially how Errors and Exceptions differ in their working so that there is no confusion.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Grab the opportunity to learn Java with Entri! Click Here<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Errors_and_Exceptions_in_Java_%E2%80%93_How_Do_They_Differ\"><\/span><span id=\"Errors_and_Exceptions_in_Java_-_How_Do_They_Differ\" class=\"ez-toc-section\"><\/span><b>Errors and Exceptions in Java \u2013 How Do They Differ?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The official documentation of the Java programming language refers to Errors as occurrences during your Java programming that \u2013 \u201cindicate serious problems that a reasonable application should not try to catch.\u201d The seriousness of Errors is clear from the way this statement is poised. Clearly, this refers to the set of problems that your program might face that is not possible for it to recover from without either refactoring the code or modifying the Java application architecture.<\/p>\n<p>Let\u2019s look at a Java method that is going to throw an error:<\/p>\n<p>public static void print(String S) {<\/p>\n<p>print(S);<\/p>\n<p>}<\/p>\n<p>In the code mentioned above, the method print() acts as a recursive method that keeps calling itself repeatedly, over and over again, until it reaches the maximum allowed size for a thread stack in Java. At that point, it exits execution with a very common \u2013 StackOverflowError, which reads something like:<\/p>\n<p><i>Exception in thread \u201cmain\u201d java.lang.StackOverflowError<\/i><\/p>\n<p><i>at StackOverflowErrorExample.print(StackOverflowErrorExample.java:3)<\/i><\/p>\n<p>As the above example shows, the method throws an example, but this error cannot be handled in the code itself. So, the program simply quits execution because the damage is irrecoverable. As a solution, the code needs to be modified.<\/p>\n<p>Contrary to Errors, Exceptions indicate conditions that can be caught by a reasonable application. Exceptions in Java include issues that might occur either at the compile-time or during run time. These Exceptions happen rather frequently in all applications \u2013 especially during the testing and debugging phase. As a result, Exceptions in Java can be handled within the program itself to ensure that the code runs its natural flow.<\/p>\n<h4 style=\"text-align: center\"><strong><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\" target=\"_blank\" rel=\"noopener\">Ace your coding skills with Entri !<\/a><\/strong><\/h4>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span><span id=\"In_Conclusion\" class=\"ez-toc-section\"><\/span><b>Conclusion<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Please keep in mind that this is by no means comprehensive coverage of Exceptions in Java and how to go about handling them. For that, you should dig deeper and expose yourself to different possible Exceptions to see how they work. Knowing Exception Handling will set you up for a successful career as a full-stack developer since Exceptions form the basics of any application.<\/p>\n<p><a href=\"https:\/\/entri.sng.link\/Bcofz\/uu8c\/w409\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-25520910 size-full\" src=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square.png\" alt=\"Python and Machine Learning Square\" width=\"345\" height=\"345\" srcset=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square.png 345w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square-300x300.png 300w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square-150x150.png 150w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square-24x24.png 24w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square-48x48.png 48w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square-96x96.png 96w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/04\/Python-and-Machine-Learning-Square-75x75.png 75w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Modern applications are complex multi-tier and multi-layer systems that consist of multiple client-side apps, web servers, application servers, and database servers. The applications use third-party libraries, communicate with other applications using different communication mechanisms, and rely on cloud services and hosting providers. How can you manage that complexity? Your first thoughts probably go to\u00a0application monitoring\u00a0and [&hellip;]<\/p>\n","protected":false},"author":111,"featured_media":25529148,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[802,1882],"tags":[],"class_list":["post-25529012","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-java-programming"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Why Tracking and Monitoring All Exceptions is Important - Entri Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Tracking and Monitoring All Exceptions is Important - Entri Blog\" \/>\n<meta property=\"og:description\" content=\"Modern applications are complex multi-tier and multi-layer systems that consist of multiple client-side apps, web servers, application servers, and database servers. The applications use third-party libraries, communicate with other applications using different communication mechanisms, and rely on cloud services and hosting providers. How can you manage that complexity? Your first thoughts probably go to\u00a0application monitoring\u00a0and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\" \/>\n<meta property=\"og:site_name\" content=\"Entri Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/entri.me\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-19T08:37:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png\" \/>\n\t<meta property=\"og:image:width\" content=\"820\" \/>\n\t<meta property=\"og:image:height\" content=\"615\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Feeba Mahin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@entri_app\" \/>\n<meta name=\"twitter:site\" content=\"@entri_app\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Feeba Mahin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\"},\"author\":{\"name\":\"Feeba Mahin\",\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/person\/f036dab84abae3dcc9390a1110d95d36\"},\"headline\":\"Why Tracking and Monitoring All Exceptions is Important\",\"datePublished\":\"2022-06-19T08:37:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\"},\"wordCount\":2230,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/entri.app\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png\",\"articleSection\":[\"Articles\",\"Java Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\",\"url\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\",\"name\":\"Why Tracking and Monitoring All Exceptions is Important - Entri Blog\",\"isPartOf\":{\"@id\":\"https:\/\/entri.app\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png\",\"datePublished\":\"2022-06-19T08:37:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage\",\"url\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png\",\"contentUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png\",\"width\":820,\"height\":615,\"caption\":\"Why Tracking and Monitoring All Exceptions is Important\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/entri.app\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Entri Skilling\",\"item\":\"https:\/\/entri.app\/blog\/category\/entri-skilling\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Java Programming\",\"item\":\"https:\/\/entri.app\/blog\/category\/entri-skilling\/java-programming\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Why Tracking and Monitoring All Exceptions is Important\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/entri.app\/blog\/#website\",\"url\":\"https:\/\/entri.app\/blog\/\",\"name\":\"Entri Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/entri.app\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/entri.app\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/entri.app\/blog\/#organization\",\"name\":\"Entri App\",\"url\":\"https:\/\/entri.app\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png\",\"contentUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png\",\"width\":989,\"height\":446,\"caption\":\"Entri App\"},\"image\":{\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/entri.me\/\",\"https:\/\/x.com\/entri_app\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/person\/f036dab84abae3dcc9390a1110d95d36\",\"name\":\"Feeba Mahin\",\"url\":\"https:\/\/entri.app\/blog\/author\/feeba123\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why Tracking and Monitoring All Exceptions is Important - Entri Blog","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:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/","og_locale":"en_US","og_type":"article","og_title":"Why Tracking and Monitoring All Exceptions is Important - Entri Blog","og_description":"Modern applications are complex multi-tier and multi-layer systems that consist of multiple client-side apps, web servers, application servers, and database servers. The applications use third-party libraries, communicate with other applications using different communication mechanisms, and rely on cloud services and hosting providers. How can you manage that complexity? Your first thoughts probably go to\u00a0application monitoring\u00a0and [&hellip;]","og_url":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/","og_site_name":"Entri Blog","article_publisher":"https:\/\/www.facebook.com\/entri.me\/","article_published_time":"2022-06-19T08:37:29+00:00","og_image":[{"width":820,"height":615,"url":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png","type":"image\/png"}],"author":"Feeba Mahin","twitter_card":"summary_large_image","twitter_creator":"@entri_app","twitter_site":"@entri_app","twitter_misc":{"Written by":"Feeba Mahin","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#article","isPartOf":{"@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/"},"author":{"name":"Feeba Mahin","@id":"https:\/\/entri.app\/blog\/#\/schema\/person\/f036dab84abae3dcc9390a1110d95d36"},"headline":"Why Tracking and Monitoring All Exceptions is Important","datePublished":"2022-06-19T08:37:29+00:00","mainEntityOfPage":{"@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/"},"wordCount":2230,"commentCount":0,"publisher":{"@id":"https:\/\/entri.app\/blog\/#organization"},"image":{"@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage"},"thumbnailUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png","articleSection":["Articles","Java Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/","url":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/","name":"Why Tracking and Monitoring All Exceptions is Important - Entri Blog","isPartOf":{"@id":"https:\/\/entri.app\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage"},"image":{"@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage"},"thumbnailUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png","datePublished":"2022-06-19T08:37:29+00:00","breadcrumb":{"@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#primaryimage","url":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png","contentUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/06\/Why-Tracking-and-Monitoring-All-Exceptions-is-Important.png","width":820,"height":615,"caption":"Why Tracking and Monitoring All Exceptions is Important"},{"@type":"BreadcrumbList","@id":"https:\/\/entri.app\/blog\/why-tracking-and-monitoring-all-exceptions-is-important\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/entri.app\/blog\/"},{"@type":"ListItem","position":2,"name":"Entri Skilling","item":"https:\/\/entri.app\/blog\/category\/entri-skilling\/"},{"@type":"ListItem","position":3,"name":"Java Programming","item":"https:\/\/entri.app\/blog\/category\/entri-skilling\/java-programming\/"},{"@type":"ListItem","position":4,"name":"Why Tracking and Monitoring All Exceptions is Important"}]},{"@type":"WebSite","@id":"https:\/\/entri.app\/blog\/#website","url":"https:\/\/entri.app\/blog\/","name":"Entri Blog","description":"","publisher":{"@id":"https:\/\/entri.app\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/entri.app\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/entri.app\/blog\/#organization","name":"Entri App","url":"https:\/\/entri.app\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png","contentUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png","width":989,"height":446,"caption":"Entri App"},"image":{"@id":"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/entri.me\/","https:\/\/x.com\/entri_app"]},{"@type":"Person","@id":"https:\/\/entri.app\/blog\/#\/schema\/person\/f036dab84abae3dcc9390a1110d95d36","name":"Feeba Mahin","url":"https:\/\/entri.app\/blog\/author\/feeba123\/"}]}},"_links":{"self":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts\/25529012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/users\/111"}],"replies":[{"embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/comments?post=25529012"}],"version-history":[{"count":5,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts\/25529012\/revisions"}],"predecessor-version":[{"id":25529163,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts\/25529012\/revisions\/25529163"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/media\/25529148"}],"wp:attachment":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/media?parent=25529012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/categories?post=25529012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/tags?post=25529012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}