在Oracle存儲過程中,可以使用`EXCEPTION`語句塊來處理異常并打印錯誤信息。以下是一個示例:
```sql
CREATE OR REPLACE PROCEDURE my_procedure AS
-- 聲明自定義異常
my_exception EXCEPTION;
PRAGMA EXCEPTION_INIT(my_exception, -20001); -- 指定自定義異常的錯誤代碼
BEGIN
-- 執行存儲過程的代碼
EXCEPTION
WHEN my_exception THEN
-- 自定義異常的處理邏輯
DBMS_OUTPUT.PUT_LINE('自定義異常: ' || SQLERRM);
WHEN OTHERS THEN
-- 其他異常的處理邏輯
DBMS_OUTPUT.PUT_LINE('未捕獲的異常: ' || SQLERRM);
RAISE;
END;
/
```
在上述示例中,`my_exception`是自定義的異常,`-20001`是指定的錯誤代碼。在存儲過程的主體代碼中,使用`EXCEPTION`語句塊來捕獲異常。當遇到`my_exception`時,會執行自定義的異常處理邏輯,并打印異常信息。當遇到其他異常時,會打印未捕獲的異常信息并重新拋出異常。
另外,使用`DBMS_OUTPUT.PUT_LINE`過程可以將信息打印到輸出窗口。你可以在執行存儲過程后查看輸出窗口中的異常信息。
使用上述方法可以在存儲過程中打印異常信息并進行相應的處理。