18 call處理呼叫錯誤

2021-08-31 04:32:52 字數 812 閱讀 6099

在程式開發中,如果在使用物件呼叫物件內部方法時候,呼叫的這個方法不存在那麼程式就會出錯,然後程式退出不能繼續執行。那麼可不可以在程式呼叫物件內部 不存在的方法時,提示我們呼叫的方法及使用的引數不存在,但程式還可以繼續執行,這個時候我們就要使用在呼叫不存在的方法時自動呼叫的方 法」__call()」. <?php //這是乙個測試的類,裡面沒有屬性和方法 class test //產生乙個test類的物件 $test=new test(); //呼叫物件裡不存在的方法 $test->demo("one", "two", "three"); //程式不會執行到這裡 echo "this is a test

"; ?>

上例出現如下錯誤,程式通出不能繼續執行;

fatalerror:calltoundefinedmethodtest::demo()

下面我們加上「__call()」方法,這個方法有2個引數,第乙個引數為呼叫不存在的方法過程中,自動呼叫__call()方法時,把這個不存在的方法的方法名傳給第乙個引數,第二個引數則是把這個方法的多個引數以陣列的形式傳進來。

<?php //這是乙個測試的類,裡面沒有屬性和方法 class test } //產生乙個test類的物件 $test=new test(); //呼叫物件裡不存在的方法 $test->demo("one", "two", "three"); //程式不會退出可以執行到這裡 echo "this is a test

"; ?>

上例輸出結果為:

你所呼叫的函式:demo(引數:array([0]=>one[1]=>two[2]=>three))不存在!

thisisatest.

call 處理呼叫錯誤

在程式開發中,如果在使用物件呼叫物件內部方法時候,呼叫的這個方法不存在那麼程式就會出錯,然後程式退出不能繼續執行。那麼可不可以在程式呼叫物件內部不存在的方法時,提示我們呼叫的方法及使用的引數不存在,但程式還可以繼續執行,這個時候我們就要使用在呼叫不存在的方法時自動呼叫的方法 call 片斷 上例出現...

系統呼叫 錯誤處理函式

1 perror perror函式是用來列印錯誤提示資訊的,原型是 include void perror const char s 它先列印s指向的字串,然後輸出當前errno值所對應的錯誤提示資訊,例如當前errno若為12,呼叫perror abc 會輸出 abc cannot allocat...

解決跨執行緒呼叫錯誤提示

出面這種錯誤主要是因為我們在乙個不是建立此控制項的執行緒上,對此控制項進行操作所引起的,現在有解決方法兩種,大家自已看,第一 private delegate void change string text 定義委託,使執行緒方便呼叫此委託方 private void changetext priv...