介面呼叫常見異常處理方案
一個遠端伺服器會暴露各種各樣的對外服務,我們稱之為service1 2 3
某個客戶端會呼叫其中某個service,在不出異常的情況下服務可能會很穩定,
但是一旦出現了異常,如果沒有良好的異常處理機制及日誌會導致後續查詢問題
很困難,特別是大型分散式結構的系統
Server端
Server端針對每中可能出現的異常情況都應該定義對應的業務異常,如負庫存異常、產品庫存資料位空異常等等
針對如上定義的業務異常service端應該將異常throw並記錄異常日誌,異常日誌需要一些基本資訊如下:
1、 客戶端ip
2、 服務端ip
3、呼叫時間
4、異常資訊
5、介面名稱
6、介面引數值
7、異常編碼(這個應該和客服端統一定義)
Client端
針對客戶端throw出來的Exception,客戶端應該進行相應的try catch,針對不同的業務異常
應該進行相應的處理並列印日誌的棧資訊,記錄相關的異常日誌到資料庫,日誌表設計如上
相關推薦
介面呼叫常見異常處理方案
一個遠端伺服器會暴露各種各樣的對外服務,我們稱之為service1 2 3 某個客戶端會呼叫其中某個service,在不出異常的情況下服務可能會很穩定, 但是一旦出現了異常,如果沒有良好的異常處理機制及日誌會導致後續查詢問題 很困難,特別是大型分散式結構的系統 Server
四:JVM調優與常見異常處理方案
在jvm調優之前,我們必須先了解jvm的記憶體模型與GC回收機制,這些在我前面的文章裡面有介紹!接下來我們通過一個案例來調整jvm效能。 一:調優案例: 1.1 編寫demo import java.text.DecimalFormat; /** -XX:+PrintGC &
[轉]JVM調優原理與常見異常處理方案
在jvm調優之前,我們必須先了解jvm的記憶體模型與GC回收機制,這些在我前面的文章裡面有介紹!接下來我們通過一個案例來調整jvm效能。 一 測試案例: 1.1 編寫demo import java.text.DecimalFormat; /** -XX:+PrintGC
urlib常見異常處理與url解析
一.urlib異常處理 1、URLError異常 通常引起URLError的原因是:無網路連線(沒有到目標伺服器的路由)、訪問的目標伺服器不存在。在這種情況下,異常物件會有reason屬性(是一個(錯誤碼、錯誤原因)的元組) 1)訪問成功時: from
【Web】Web開發中的異常處理方案
我認為最合理的做法: 1、dao層不捕獲異常、不丟擲異常:spring框架將底層的資料庫checked異常封裝成unchecked異常了 2、service層捕獲異常,並丟擲自定義unchecked異常,異常中不定義狀態碼:checked異常預設情況事務不會回滾 3、controller層捕獲異常,並丟擲自定
SSM專案統一異常處理方案
java開發說明 專案中的異常處理是專案開發中的重要部分,合理的異常處理方案,對於提高專案開發效率,影響較大。 SSM專案中採用如下方案進行異常處理: 1 對於DAO層丟擲的sql異常,已經由myBatis包裝成了執行時異常,不需要再進行包裝 2 對於S
Eclipse常見異常處理
Heap size 設定 JVM堆的設定是指java程式執行過程中JVM可以調配使用的記憶體空間的設定.JVM在啟動的時候會自動設定Heap size的值, 其初始空間(即-Xms)是實體記憶體的1/64,最大空間(-Xmx)是實體記憶體的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等選項可 進行
Hibernate 常見異常處理(轉帖)
Hibernate 常見異常net.sf.hibernate.MappingException 當出現net.sf.hibernate.MappingException: Error reading resource:…異常時一般是因為對映文件出現錯誤。
javaWeb 專案整體異常處理方案
http://www.iteye.com/topic/1073599 在實際的j2ee專案中,系統內部難免會出現一些異常,如果把異常放任不管直接列印到瀏覽器可能會讓使用者感覺莫名其妙,也有可能讓某些使用者找到破解系統的方法。 出來工作一年時間了,我也大概對異常處理有了
GoldenGate常見異常處理
今天花了整整一天,把Oracle GoldenGate配置了起來,期間遇到無數的問題,但是都是逢凶化吉,通過文件和Google搞定了,如下做個小小的總結。至於GoldenGate的配置過程暫且不表,待後續在做詳細介紹。 源資料庫在OEL5.4 64bit的虛擬機器上,資料庫版本是11.2.0.3 目標資
Oracle常見異常處理
1 Oracle異常 1.1 ORA-01830: date format picture ends before converting entire input string 1.1.1 產生背景 在寫java指令碼程式時,輸入時間資料時提示。
Dubbo的正確開啟方式之基本介面定義及異常處理
為什麼要寫這篇文章呢?因為公司在使用Dubbo時並沒有對Dubbo的用法做深入的瞭解,而是屬於拿來就用,隨著自己的想法來使用。這樣很不好,就像天龍八部的鳩摩智練習錯誤的六脈神劍一樣,方式不對,就容易走火入魔。下面是我近來在空閒時間對Dubbo的一些學習,也糾正了
Java Socket常見異常處理
4.java.net.SocketException:Socket is closed 該異常在客戶端和伺服器端均可能發生。異常的原因是己方主動關閉了連線後 (呼叫了Socket的close方法)再對網路連線進行讀寫操作。 -----------------------------------------
Android開發 之 常見異常處理
1、pen failed: EISDIR (Is a directory) 這個異常是因為我在SD卡中建立目錄資料夾的時候,應該一層一層的建立資料夾例如:我要建立"/mnt/sdcard/zhufu/apkbus"這樣的路徑資料夾,其中“zhufu”和“apkb
struts2之json請求的異常處理方案
大家都知道,使用struts2的異常處理機制,只要幾行配置,就可以在發生異常時,跳轉到我們指定的頁面,並顯示出相應的異常資訊,具體的使用操作過程如下: 1)struts.xml <struts> <include file="struts-default
一些常見異常解決方案彙總
1. 空指標 1) 原因:引用了空物件 2) 解決方案: ① 對於別人介面的返回物件要做非空判斷,因為我們不清楚獲得的物件會不會為空,對於map,可以採用getOrElse來代替get;對於集
docker + mysql 雙主互備及常見異常處理
docker + mysql 雙主互備 環境 centos7、docker 10.200.132.168 master 3307 10.200.132.168 slave 3308 我使用的是以前自帶的docker環境,mysql是
Java中常見異常處理、檔案File類、流的知識點總結
一、常見的異常處理情況 在Java中常見的兩種異常處理:捕捉異常(try-catch-finally)和丟擲異常(throw-throws) 1.捕捉異常(try/catch/finally): 用捕捉異常時,不能try、catch、finally單獨使用,需要配套使用
java JVM常見的四大異常及處理方案
maxperm 就是 locate stack 修飾 gpo 異常 native 思路 區域 作用 異常 控制參數 解決思路 java堆 存放對象的實例。 java.lang.OutOfMemory Error:Java heap space -Xms(初始化堆
.NET 4.0 呼叫 C dll 觸發 AccessViolationException 異常的處理方案
一、問題 最近做專案的時候,在呼叫 c 寫的 dll 的時候,遇到一個程式異常,發現捕捉不到,異常為:System.AccessViolationException 二、解決方案 詳細內容和原理可以看下面引用的內容,我這裡使用的方法是在方法名上面新增屬性: