導航:首頁 > 研究方法 > 用什麼方法去獲取錯誤信息

用什麼方法去獲取錯誤信息

發布時間:2022-10-10 03:15:33

Ⅰ c#如何獲取錯誤信息,想用MessageBox輸出紅框中的錯誤信息

異常捕獲
使用
Try{ //你執行的代碼
}
catch(Exception ex) //捕捉異常信息
{
MessageBox.Show(ex.Message);
}

Ⅱ java中如何獲取 控制台的輸出信息,錯誤信息,和異常信息。

很簡單的,如果你查api文檔會發現類System有個「欄位摘要」,很容易發現有個out,
它返回static PrintStream,還會發現System有個方法是static void setOut(PrintStream out)
重新分配「標准」輸出流。 再點擊PrintStream,很明顯它是OutputStream
的子類 解決如下
輸出流重定向

import java.io.*;

public class IO2File {
public static void main(String[] args) throws IOException {

File f=new File("out.txt");
f.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(f);
PrintStream printStream = new PrintStream(fileOutputStream);
System.setOut(printStream);
System.out.println("默認輸出到控制台的這一句,輸出到了文件 out.txt");
}
}

Ⅲ 如何獲取錯誤信息

1mysql_query($sql) or die (\\'錯誤信息\\'.mysql_error());可以在執行Sql不成功的時候會提示錯誤信息。望採納 Thx

Ⅳ 如何獲取執行原生sql的錯誤信息

oracle 10g的DBMS_XPLAN包中display_cursor函數不同於display函數,display_cursor用於顯示SQL語句的真實的執行計劃,在大多數情況下,
顯示真實的執行計劃有助於更好的分析SQL語句的全過程,尤其是運行此SQL語句實時的I/O開銷。通過對比預估的I/O與真實的I/O開銷來判斷
SQL語句所存在問題,如缺少統計信息,SQL語句執行的次數,根據實際中間結果集的大小來選擇合適的連接方式等。本文僅僅講述
display_cursor函數的使用。

一、display_cursor函數用法
1、display_cursor函數語法

DBMS_XPLAN.DISPLAY_CURSOR(
sql_id IN VARCHAR2 DEFAULT NULL,
cursor_child_no IN NUMBER DEFAULT NULL,
format IN VARCHAR2 DEFAULT 'TYPICAL');

2、display_cursor函數參數描述
sql_id
指定位於庫緩存執行計劃中SQL語句的父游標。默認值為null。當使用默認值時當前會話的最後一條SQL語句的執行計劃將被返回
可以通過查詢V$SQL 或V$SQLAREA的SQL_ID列來獲得SQL語句的SQL_ID。
cursor_child_no
指定父游標下子游標的序號。即指定被返回執行計劃的SQL語句的子游標。默認值為0。如果為null,則sql_id所指父游標下所有子游標
的執行計劃都將被返回。
format
控制SQL語句執行計劃的輸出部分,即哪些可以顯示哪些不顯示。使用與display函數的format參數與修飾符在這里同樣適用。
除此之外當在開啟statistics_level=all時或使用gather_plan_statistics提示可以獲得執行計劃中實時的統計信息
有關詳細的format格式描述請參考:dbms_xplan之display函數的使用 中format參數的描述

下面給出啟用統計信息時format新增的修飾符
iostats 控制I/O統計的顯示
last 默認,顯示所有執行計算過的統計。如果指定該值,則只顯示最後一次執行的統計信息
memstats 控制pga相關統計的顯示
allstats 此為iostats memstats的快捷方式,即allstats包含了iostats和memstats
run_stats_last 等同於iostats last。只能用於oracle 10g R1
run_stats_tot 等同於iostats。只能用於oracle 10g R1

抓一個最近一小時最消耗IO的SQL:
SELECT sql_id, COUNT(*)
FROM gv$active_session_history ash, gv$event_name evt
WHERE ash.sample_time > SYSDATE - 1 / 24
AND ash.session_state = 'WAITING'
AND ash.event_id = evt.event_id
AND evt.wait_class = 'User I/O'
GROUP BY sql_id
ORDER BY COUNT(*) DESC;

執行上面的SQL:
SQL> SELECT sql_id, COUNT(*)
FROM gv$active_session_history ash, gv$event_name evt
2 3 WHERE ash.sample_time > SYSDATE - 1 / 24
4 AND ash.session_state = 'WAITING'
5 AND ash.event_id = evt.event_id
6 AND evt.wait_class = 'User I/O'
7 GROUP BY sql_id
8 ORDER BY COUNT(*) DESC;

SQL_ID COUNT(*)
------------- ----------
g7fu6qba82m6b 668
63r47zyphdk06 526
9f5m4wd88nc1h 514
593p47drw5fhk 232
br91w16jzy4fu 120
4fvwyjpnh6tp7 78
gm0nrbfuj8kzr 70
2184k363hw4xd 68
gc4dajs7g5myy 46
8vrk9sfuwfdgq 42
ccpnb4dwdmq21 40

查看SQL的執行計劃:
SELECT * FROM TABLE(dbms_xplan.display_cursor('g7fu6qba82m6b'));

在SQLPLUS中執行:
SQL> set pagesize 2000
SQL> SELECT * FROM TABLE(dbms_xplan.display_cursor('g7fu6qba82m6b'));

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------
SQL_ID g7fu6qba82m6b, child number 0
-------------------------------------
UPDATE "CPDDS_PDATA"."CDM_LEDGER" SET "CSTM_NAME" = :a1,"CSTM_NO" =
:a2,"PAPER_TYPE" = :a3,"PAPER_NO" = :a4,"CURR_TYPE" = :a5,"SVT_NO" =
:a6,"BAL_DIR" = :a7,"BAL" = :a8,"AVAL_BAL" = :a9,"NORM_FRATIO" =
:a10,"PK_BAL" = :a11,"DR_ACCU" = :a12,"CR_ACCU" = :a13,"LAST_TRAN_DATE" =
:a14,"LAST_TRAN_TIME" = :a15,"PRT_LINE_NUM" = :a16,"NOREG_PK_REC_NUM" =
:a17,"PK_NO" = :a18,"PWD" = :a19,"FLAG" = :a20,"FRZ_FLAG" =
:a21,"CARD_HOLD_FLAG" = :a22,"PK_HOLD_FLAG" = :a23,"BGN_INT_DATE" =
:a24,"OPEN_DATE" = :a25,"ACC_HOLD_FLAG" = :a26,"CLS_DATE" =
:a27,"OPEN_TLR" = :a28,"CLS_TLR" = :a29,"CLS_INT" = :a30,"OPEN_INST" =
:a31,"ADD_NUM" = :a32,"DAC" = :a33,"FRZ_TIMES1" = :a34,"FRZ_TIMES2" =
:a35,"HOST_SEQNO" = :a36,"D_UPDATE_DATE" = :a37 WHERE "ACC" = :b0

Plan hash value: 319441092

-----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | | | 3 (100)| |
| 1 | UPDATE | CDM_LEDGER | | | | |
|* 2 | INDEX UNIQUE SCAN| I_CDM_LEDGER | 1 | 269 | 2 (0)| 00:00:01 |
-----------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

2 - access("ACC"=:B0)

29 rows selected.

總結
1、與display函數不同,display_cursor顯示的為真實的執行計劃
2、對於format參數,使用與display函數的各個值,同樣適用於display_cursor函數
3、當statistics_level為all或使用gather_plan_statistics提示可以獲得執行時的統計信息
4、根據真實與預估的統計信息可以初步判斷SQL效率低下的原因,如統計信息的准確性、主要的開銷位於那些步驟等

Ⅳ Java:如何獲取錯誤信息

建議建一個自定義異常,撲捉異常時,可以分級撲捉的,例如io,file等,最好不要直接Exception來撲捉。根據不同異常設置自定義異常內容屬性,再將自定義異常拋出。

Ⅵ python程序怎麼獲得控制台中的錯誤信息

嚴格來說,它們之間的不同就只有一個:視窗運行它們的時候調用不同的執行檔案。視窗用python.exe運行.py,用pythonw.exe運行.pyw。這純粹是因為安裝視窗版Python時,擴展名.py自動被登記為用python.exe運行的文件,而.pyw則被登記為用pythonw.exe運行。.py和.pyw之間的「其它差別」全都是python.exe和pythonw.exe之間的差別。跟python.exe比較起來,pythonw.exe有以下的不同:1)執行時不會彈出控制台窗口(也叫DOS窗口)2)所有向原有的stdout和stderr的輸出都無效3)所有從原有的stdin的讀取都只會得到EOF.pyw格式是被設計來運行開發完成的純圖形界面程序的。純圖形界面程序的用戶不需要看到控制台窗口。值得一提的是,開發純圖形界面程序的時候,你可以暫時把.pyw改成.py,以便運行時能調出控制台窗口,看到所有錯誤信息,方便除蟲。註:唯獨視窗版Python有.pyw格式。

Ⅶ 怎麼獲得error信息的data

我們只需要在error後面添加error.response,然後就可以發現,具體的信息全部都出來了。
response就有返回的意思,這個就是錯誤信息獲取方法。
代碼(code)是程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。
代碼設計的原則包括唯一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。 源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。現代程序語言中,源代碼可以書籍或磁帶形式出現,但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,它由通過編譯器完成。

Ⅷ 如何獲取exception的詳細出錯信息

--1.通過RAISE彈出框(調試時使用)
--2.通過sqlcode , sqlerrm 這兩個內置變數來查看,例如:

DECLARE
--聲明異常
some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition

v_ErrorCode NUMBER; -- Variable to hold the error message code
v_ErrorText VARCHAR2(200); -- Variable to hold the error message text

BEGIN
--...
--拋出異常
IF ( ... ) THEN --(括弧內填拋出異常的條件)
RAISE some_kinds_of_err;
END IF;
--...
EXCEPTION
--捕捉異常
WHEN some_kinds_of_err THEN
/* do something to Handler the errors */
null;
--捕捉其他異常,並獲得 捕獲異常的內容
WHEN OTHERS THEN
v_ErrorCode := SQLCODE;
v_ErrorText := SUBSTR(SQLERRM, 1, 200);
-- Note the use of SUBSTR here.

dbms_output.put_line(v_ErrorCode || '::'||v_ErrorText);
END;

/**
sqlcode 就是錯誤代碼
sqlerrm 就是sql錯誤信息。注意用substr來截取,否則輸出很難看。

**/

Ⅸ thinkphp中的add方法怎麼獲取sql錯誤消息

thinkphp中的add方法獲取sql錯誤消息可以調用getDbError()函數。
getDbError函數可以獲取資料庫的錯誤信息。
function GetRandomAd()
{
global $myDB;
$today = date('j');
$ql = "SELECT * FROM reklama WHERE today<>'$today' OR realimpr<impr OR impr=0 ORDER BY RAND() LIMIT 1";
$result = $myDB->Execute($ql) or die(GetDbError($myDB->ErrorMsg()));
$r_id = $result->Fields("aid");
$r_ad_text = $result->Fields("ad_text");
$r_today = $result->Fields("today");
$result->Close();
if ($r_id)
{
if ($today != $r_today) $ql = "UPDATE reklama SET realimpr=1, today='$today' WHERE aid='$r_id'";
else $ql = "UPDATE reklama SET realimpr=realimpr+1 WHERE aid='$r_id'";
$result = $myDB->Execute($ql) or die(GetDbError($myDB->ErrorMsg()));
$result->Close();
}
return $r_ad_text;

}

Ⅹ 自動化測試中如何獲取登錄頁失敗的錯誤信息,來做用例的判斷條件

1.首先連接真機後在uiautomatorviewer里獲取對應彈窗的元素控制項

2.調用unittest中的斷言進行捕獲異常,這里我以用戶不存在這個欄位進行判斷,是否登錄成功。之前走了個岔路,後來看了webelement的文檔才知道是用driver.find_element_by_class_name().text這種方法獲取彈窗中的文本內容

閱讀全文

與用什麼方法去獲取錯誤信息相關的資料

熱點內容
哪些方法可以種大蒜 瀏覽:233
紙上標簽怎麼去除最簡單方法 瀏覽:197
辣白菜腌制方法和步驟 瀏覽:360
設計控制器增益的方法有哪些 瀏覽:975
洗砂機使用方法 瀏覽:960
手機上恢復視力的方法有用嗎 瀏覽:807
比例尺兩種計算方法 瀏覽:848
創造與魔法新手快速刷經驗方法 瀏覽:615
蘋果主頁按鈕在哪裡設置方法 瀏覽:10
如何成為牛人最有效的方法 瀏覽:373
思力華的使用方法 瀏覽:764
扒胎機的使用方法教程 瀏覽:39
最簡單的查找器製作方法 瀏覽:656
latoja使用方法 瀏覽:484
故事啟發的教學方法 瀏覽:576
都有哪些種植的方法 瀏覽:550
企業分析法是選股的方法嗎 瀏覽:112
Wto分析方法內容 瀏覽:747
圖解題的方法和步驟 瀏覽:406
破壁孢子粉的鑒別方法 瀏覽:255