{"id":659,"date":"2024-02-27T12:11:56","date_gmt":"2024-02-27T06:41:56","guid":{"rendered":"https:\/\/www.shakebug.com\/blog\/?p=659"},"modified":"2024-02-27T12:11:56","modified_gmt":"2024-02-27T06:41:56","slug":"null-pointer-exceptions-to-avoid-app-crashes","status":"publish","type":"post","link":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/","title":{"rendered":"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes"},"content":{"rendered":"<p>Null pointer exceptions are a frequent cause of app crashes, which can be frustrating for both developers and users. In this guide, we&#8217;ll talk about what null pointer exceptions are, why they happen, and how to avoid them in your code. Understanding the root causes of these errors allows you to build more stable and reliable apps with a better user experience. So, let&#8217;s explore the world of null pointer exceptions and learn how to avoid them!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"What_is_a_Null_Pointer_Exception\"><\/span>What is a Null Pointer Exception?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A Null Pointer Exception is a programming error that occurs when an object or variable is not assigned a value. This can occur for a variety of reasons, including failing to initialize the object or attempting to access an element of an array that does not exist. It is critical for programmers to understand and avoid these exceptions because they can cause programs to crash and yield unexpected results. Developers can avoid this issue by properly handling and checking for null values before accessing objects.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Impact_of_Null_Pointer_Exceptions_on_App_Performance\"><\/span>Impact of Null Pointer Exceptions on App Performance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Null Pointer Exceptions (NPEs) are a common problem in software development that may significantly impact app performance. An NPE occurs when a program attempts to access or use a null object that does not exist. This can lead to crashes and errors within the app, causing frustration for users and potentially damaging the reputation of the developer.<\/p>\n<p>To prevent NPEs, developers must thoroughly understand their code and use proper error-handling techniques. Addressing this issue early in the development process allows apps to run more smoothly and provide a better overall user experience.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Identifying_Null_Pointer_Exceptions\"><\/span>Identifying Null Pointer Exceptions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Null pointer exceptions are a common and frustrating issue for developers. These errors occur when the program attempts to access an uninitialized object or variable, which results in a null value. Understanding how and why these errors occur is critical for preventing them. Identifying null pointer exceptions entails thoroughly reviewing your code and looking for any instances in which objects or variables were not properly initialized before being used. Addressing these issues early on can help you avoid future headaches and ensure that your program runs smoothly.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Strategies_for_Null_Pointer_Exception_Prevention\"><\/span>Strategies for Null Pointer Exception Prevention<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Null pointer exceptions can be a frustrating and time-consuming issue for developers. These errors occur when an application tries to access or use an object that has not been initialized, resulting in the program crashing. To prevent these issues from occurring, there are several strategies that developers can implement.<\/p>\n<p>One approach is to always check for null values before using them in code. Another strategy is to use defensive programming techniques such as validating user input and handling potential null values with conditional statements.<\/p>\n<p>Additionally, utilising tools like debuggers and unit testing can help identify potential null pointer exceptions during development stages rather than after deployment.<\/p>\n<p>By implementing these prevention strategies, developers can save time and ensure their applications run smoothly without any unexpected crashes due to null pointer exceptions.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Best_Practices_in_Null_Pointer_Exception_Handling\"><\/span>Best Practices in Null Pointer Exception Handling<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Null pointer exceptions can be a common issue in programming, especially when working with object-oriented languages. These errors occur when the program tries to access an object or variable that has not been initialized or does not exist.<\/p>\n<p>To prevent these errors from occurring, developers need to follow best practices in null pointer exception handling. This includes always checking for null values before using them, properly initializing objects and variables, and utilizing try-catch blocks to handle potential exceptions.<\/p>\n<p>By following these guidelines, programmers can ensure their code runs smoothly without any unexpected crashes due to null pointer exceptions.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In conclusion, understanding and preventing null pointer exceptions is crucial for developers to create efficient and reliable code. By following best practices such as checking for null values before accessing them, using proper exception handling techniques, and utilizing tools like static code analysis, developers can minimize the occurrence of these errors in their programs.<\/p>\n<p>It is important to continuously educate oneself on how to prevent these exceptions as technology evolves and new programming languages emerge.<\/p>\n<p>With a solid understanding of this concept, programmers can ensure that their applications run smoothly without any unexpected crashes or bugs caused by null pointers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Null pointer exceptions are a frequent cause of app crashes, which can be frustrating for both developers and users. In this guide, we&#8217;ll talk about what null pointer exceptions are, why they happen, and how to avoid them in your code. Understanding the root causes of these errors allows you to build more stable and [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":663,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-app-testing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes - Shakebug - 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:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes - Shakebug - Blog\" \/>\n<meta property=\"og:description\" content=\"Null pointer exceptions are a frequent cause of app crashes, which can be frustrating for both developers and users. In this guide, we&#8217;ll talk about what null pointer exceptions are, why they happen, and how to avoid them in your code. Understanding the root causes of these errors allows you to build more stable and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\" \/>\n<meta property=\"og:site_name\" content=\"Shakebug - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-27T06:41:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Chirag Lukhi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chirag Lukhi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\"},\"author\":{\"name\":\"Chirag Lukhi\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/#\/schema\/person\/37c0213bb8cbb9b49d90a908929d4ec6\"},\"headline\":\"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes\",\"datePublished\":\"2024-02-27T06:41:56+00:00\",\"dateModified\":\"2024-02-27T06:41:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\"},\"wordCount\":713,\"publisher\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png\",\"articleSection\":[\"Mobile app testing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\",\"url\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\",\"name\":\"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes - Shakebug - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png\",\"datePublished\":\"2024-02-27T06:41:56+00:00\",\"dateModified\":\"2024-02-27T06:41:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage\",\"url\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png\",\"contentUrl\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png\",\"width\":750,\"height\":350,\"caption\":\"null-pointer-exceptions-to-avoid-app-crashes\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.shakebug.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/#website\",\"url\":\"https:\/\/www.shakebug.com\/blog\/\",\"name\":\"Shakebug - Blog\",\"description\":\"Shakebug\",\"publisher\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.shakebug.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/#organization\",\"name\":\"Shakebug - Blog\",\"url\":\"https:\/\/www.shakebug.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/01\/logo.png\",\"contentUrl\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/01\/logo.png\",\"width\":192,\"height\":76,\"caption\":\"Shakebug - Blog\"},\"image\":{\"@id\":\"https:\/\/www.shakebug.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/#\/schema\/person\/37c0213bb8cbb9b49d90a908929d4ec6\",\"name\":\"Chirag Lukhi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.shakebug.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/04\/Mainphoto500500.jpg\",\"contentUrl\":\"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/04\/Mainphoto500500.jpg\",\"caption\":\"Chirag Lukhi\"},\"description\":\"Mobile application and SDK expert | Tech Geek | IT Consultant\",\"sameAs\":[\"https:\/\/www.shakebug.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes - Shakebug - 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:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/","og_locale":"en_US","og_type":"article","og_title":"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes - Shakebug - Blog","og_description":"Null pointer exceptions are a frequent cause of app crashes, which can be frustrating for both developers and users. In this guide, we&#8217;ll talk about what null pointer exceptions are, why they happen, and how to avoid them in your code. Understanding the root causes of these errors allows you to build more stable and [&hellip;]","og_url":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/","og_site_name":"Shakebug - Blog","article_published_time":"2024-02-27T06:41:56+00:00","og_image":[{"width":750,"height":350,"url":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png","type":"image\/png"}],"author":"Chirag Lukhi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chirag Lukhi","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#article","isPartOf":{"@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/"},"author":{"name":"Chirag Lukhi","@id":"https:\/\/www.shakebug.com\/blog\/#\/schema\/person\/37c0213bb8cbb9b49d90a908929d4ec6"},"headline":"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes","datePublished":"2024-02-27T06:41:56+00:00","dateModified":"2024-02-27T06:41:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/"},"wordCount":713,"publisher":{"@id":"https:\/\/www.shakebug.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png","articleSection":["Mobile app testing"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/","url":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/","name":"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes - Shakebug - Blog","isPartOf":{"@id":"https:\/\/www.shakebug.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage"},"image":{"@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png","datePublished":"2024-02-27T06:41:56+00:00","dateModified":"2024-02-27T06:41:56+00:00","breadcrumb":{"@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#primaryimage","url":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png","contentUrl":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2024\/02\/null-pointer-exceptions-to-avoid-app-crashes.png","width":750,"height":350,"caption":"null-pointer-exceptions-to-avoid-app-crashes"},{"@type":"BreadcrumbList","@id":"https:\/\/www.shakebug.com\/blog\/null-pointer-exceptions-to-avoid-app-crashes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.shakebug.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Understanding and Preventing Null Pointer Exceptions: A Guide to Avoid App Crashes"}]},{"@type":"WebSite","@id":"https:\/\/www.shakebug.com\/blog\/#website","url":"https:\/\/www.shakebug.com\/blog\/","name":"Shakebug - Blog","description":"Shakebug","publisher":{"@id":"https:\/\/www.shakebug.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.shakebug.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.shakebug.com\/blog\/#organization","name":"Shakebug - Blog","url":"https:\/\/www.shakebug.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.shakebug.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/01\/logo.png","contentUrl":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/01\/logo.png","width":192,"height":76,"caption":"Shakebug - Blog"},"image":{"@id":"https:\/\/www.shakebug.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.shakebug.com\/blog\/#\/schema\/person\/37c0213bb8cbb9b49d90a908929d4ec6","name":"Chirag Lukhi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.shakebug.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/04\/Mainphoto500500.jpg","contentUrl":"https:\/\/www.shakebug.com\/blog\/wp-content\/uploads\/2022\/04\/Mainphoto500500.jpg","caption":"Chirag Lukhi"},"description":"Mobile application and SDK expert | Tech Geek | IT Consultant","sameAs":["https:\/\/www.shakebug.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/posts\/659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/comments?post=659"}],"version-history":[{"count":2,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/posts\/659\/revisions"}],"predecessor-version":[{"id":661,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/posts\/659\/revisions\/661"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/media\/663"}],"wp:attachment":[{"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/media?parent=659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/categories?post=659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shakebug.com\/blog\/wp-json\/wp\/v2\/tags?post=659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}