<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DB | Engineer Ryo Blog</title>
	<atom:link href="https://engineer-ryo-blog.com/category/db/feed/" rel="self" type="application/rss+xml" />
	<link>https://engineer-ryo-blog.com</link>
	<description></description>
	<lastBuildDate>Sun, 24 Dec 2023 08:02:19 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://engineer-ryo-blog.com/wp-content/uploads/2022/11/cropped-site-icon-1-32x32.jpg</url>
	<title>DB | Engineer Ryo Blog</title>
	<link>https://engineer-ryo-blog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>NpgsqlでExceptionのエラーコードを判断する</title>
		<link>https://engineer-ryo-blog.com/2022/01/28/npgsql-errorcodes/</link>
					<comments>https://engineer-ryo-blog.com/2022/01/28/npgsql-errorcodes/#respond</comments>
		
		<dc:creator><![CDATA[ryo]]></dc:creator>
		<pubDate>Fri, 28 Jan 2022 12:24:41 +0000</pubDate>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://engineer-ryo-blog.com/?p=104</guid>

					<description><![CDATA[目次 エラーコードを取得するエラーコードをハンドリングする エラーコードを取得する エラーコードをハンドリングする 以下のように記載すると、エラーコードによって処理を分岐させることができるが&#8230; Postgre [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラーコードを取得する</a></li><li><a href="#toc2" tabindex="0">エラーコードをハンドリングする</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading" id="エラーコードを取得する"><span id="toc1">エラーコードを取得する</span></h2>



<pre class="wp-block-code"><code>try {
    // hogehoge
} catch(PostgresException ex) {
    // 以下でエラーコードを取得する
    Console.WriteLine(ex.sqlState);
}</code></pre>



<h2 class="wp-block-heading" id="エラーコードをハンドリングする"><span id="toc2">エラーコードをハンドリングする</span></h2>



<p class="wp-block-paragraph">以下のように記載すると、エラーコードによって処理を分岐させることができるが&#8230;</p>



<pre class="wp-block-code"><code>try {
    // hogehoge
} catch(PostgresException ex) {
    // エラーコードのハンドリング
    if (ex.sqlState == "23514") {
        // fugafuga
    }
}</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">PostgresErrorCodesにエラーコードがconstとして定義されているため、リテラルではなくPostgresErrorCodesを使用したほうが良さそう&#8230;</p>



<pre class="wp-block-code"><code>try {
    // hogehoge
} catch(PostgresException ex) {
    // エラーコードのハンドリング
    if (ex.sqlState == PostgresErrorCodes.CheckViolation) {
        // fugafuga
    }
}</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">PostgresErrorCodesの内容は、公式ドキュメントからどうぞ。</p>





<a rel="noopener" href="https://www.postgresql.org/docs/current/errcodes-appendix.html" title="Appendix A. PostgreSQL Error Codes" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://www.postgresql.org/media/img/about/press/elephant.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Appendix A. PostgreSQL Error Codes</div><div class="blogcard-snippet external-blogcard-snippet">AppendixA.PostgreSQL Error Codes All messages emitted by the PostgreSQL server are assigned five-character error codes t...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.postgresql.org/docs/18/errcodes-appendix.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.postgresql.org</div></div></div></div></a>

]]></content:encoded>
					
					<wfw:commentRss>https://engineer-ryo-blog.com/2022/01/28/npgsql-errorcodes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
