Hướng dẫn php exception codes list - danh sách mã ngoại lệ php

(PHP 5, PHP 7, PHP 8)

Exception::getCode — Gets the Exception codeGets the Exception code

Description

finalpublicException::getCode(): int public Exception::getCode(): int

Parameters

This function has no parameters.

Return Values

Returns the exception code as int in Exception but possibly as other type in Exception descendants (for example as string in PDOException). int in Exception but possibly as other type in Exception descendants (for example as string in PDOException).

Examples

Example #1 Exception::getCode() exampleException::getCode() example

try {
    throw new 
Exception("Some error message"30);
} catch(
Exception $e) {
    echo 
"The exception code is: " $e->getCode();
}
?>

The above example will output something similar to:

The exception code is: 30

talksonweb at gmail dot com ¶

9 years ago

The exception code can be used to categorize your errors. If you're wondering what the exception code can be used for, read on below.


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
0


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
1


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
2


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
3

ricky at rocker dot com ¶

9 years ago


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
4


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
5


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
6


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
3

ricky at rocker dot com ¶

2M ¶


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
8


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
9


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
3

1 year ago

ahmad dot mayahi at gmail dot com ¶


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>
1


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>
2


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>
3


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>
4


   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>
3

5 years ago

❮ Tham chiếu ngoại lệ PHP

Thí dụ

Ném một ngoại lệ và sau đó xuất ra thông báo của nó:
try {
  throw new Exception("An error occurred");
} catch(Exception $e) {
  echo $e->getMessage();
}
?>


getMessage();}?>

Định nghĩa và Cách sử dụng


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>
6thức này trả về một mô tả về lỗi hoặc hành vi khiến ngoại lệ được ném ra.


Phương 6thức này trả về một mô tả về lỗi hoặc hành vi khiến ngoại lệ được ném ra.

Cú pháp


$exception->getMessage()

Chi tiết kỹ thuậtGiá trị trả lại:

Trả về một chuỗi

Các trang liên quanChương Ngoại lệ trong PHP của chúng tôi .


5 years ago


(PHP 5, PHP 7, PHP 8)

❮ Tham chiếu ngoại lệ PHPGets the Exception message

Description

Thí dụ public Exception::getMessage(): string

Ném một ngoại lệ và sau đó xuất ra thông báo của nó:

Parameters

This function has no parameters.

Return Values

Returns the exception code as int in Exception but possibly as other type in Exception descendants (for example as string in PDOException).

Examples

Example #1 Exception::getCode() exampleException::getMessage() example


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>
7

The above example will output something similar to:

talksonweb at gmail dot com ¶

9 years ago

ricky at rocker dot com ¶

2M ¶

1 year ago

ahmad dot mayahi at gmail dot com ¶

  • 5 years ago
  • ❮ Tham chiếu ngoại lệ PHP

   if(!file_exists("/path/to/data-file.txt")) {
       // nếu chương trình chạy vào đây thì code ở phía sau sẽ không được thực thi
       exit("Không tìm thấy file này!!!"); 
   }
   else {
       $file=fopen("/path/to/data-file.txt","r");
       print "Mở file thành công!!!";
   }
   // logic ....
?>

Thí dụ

  • Ném một ngoại lệ và sau đó xuất ra thông báo của nó:

    
      function handleError($error_no, $error_msg)
      {
        echo "Opps, something went wrong:";
        echo "Error number: [$error_no]";
        echo "Error Description: [$error_msg]";
      }
      
       //thiết lập error handler
      set_error_handler("handleError");
      
      echo (5 / 0);
    ?>
    
    8

  • getMessage();}?>

    • Định nghĩa và Cách sử dụng
    • Phương
      
        function handleError($error_no, $error_msg)
        {
          echo "Opps, something went wrong:";
          echo "Error number: [$error_no]";
          echo "Error Description: [$error_msg]";
        }
        
         //thiết lập error handler
        set_error_handler("handleError");
        
        echo (5 / 0);
      ?>
      
      6thức này trả về một mô tả về lỗi hoặc hành vi khiến ngoại lệ được ném ra.
    • Cú pháp
    • $exception->getMessage()
    • Chi tiết kỹ thuật
  • Giá trị trả lại:

Trả về một chuỗiCác trang liên quanĐọc thêm về Ngoại lệ trong Chương Ngoại lệ trong PHP của chúng tôi .
Exception::getMessage — Gets the Exception message1 finalpublicException::getMessage(): string
Returns the Exception message. 2 Returns the Exception message as a string.
Example #1 Exception::getMessage() example8 There are no user contributed notes for this page.
Xin chào tất cả các mọi người, bài viết này mình xin trình bày về xử lý lỗi và Exception trong PHP, rất mong được sự theo dõi của mọi người256 1) Xử lý lỗi
Xử lý lỗi là tiến trình phát hiện lỗi được tạo khi chạy code của bạn và sau đó thực hiện các hành động thích hợp. Nếu bạn xử lý lỗi không chính xác, thì có thể dẫn tới nhiều kết quả không mong đợi.512 PHP có cung cấp các cơ chế giúp bắt lỗi, giám sát các lỗi và xử lý các lỗi có thể xảy ra khi lập trình.
1.1) Hàm die() và exit()1024 Để bắt lỗi trong PHP ta có thể sử dụng hàm die() hoặc hàm exit().
Khi dùng hàm die() hoặc exit() thì một message sẽ được bắn ra và chương trình sẽ bị dừng lại.2048 1.2) Tự định nghĩa hàm để xử lý lỗi trong PHP
Để tự định nghĩa hàm để xử lý lỗi thì ta có thể sử dụng cú pháp :8189 Hàm xử lý lỗi tùy chỉnh phải có ít nhất hai tham số (error_level và errstr) bắt buộc, ngoài ra nó có thêm ba tham số (errfile, errline và errcontext) không bắt buộc, như được mô tả dưới đây

errno: Xác định mức độ lỗi, dưới dạng một số nguyên. Điều này tương ứng với hằng số cấp độ lỗi phù hợp (E_ERROR, E_WARNING, ...)


  function handleError($error_no, $error_msg)
  {
    echo "Opps, something went wrong:";
    echo "Error number: [$error_no]";
    echo "Error Description: [$error_msg]";
  }
  
   //thiết lập error handler
  set_error_handler("handleError");
  
  echo (5 / 0);
?>

errstr: Xác định thông báo lỗi dưới dạng chuỗi

errfile: Xác định tên file của tập lệnh trong đó xảy ra lỗi

  • errline: Xác định số dòng mà lỗi xảy ra

  • errcontext: Xác định một mảng chứa tất cả các biến và giá trị của chúng tồn tại tại thời điểm xảy ra lỗi. Tham số này rất hữu ích cho việc gỡ lỗi

  • Các cấp độ lỗi trong PHP

  • Cấp độ lỗi

    • Giá trị
    • Throw : Ngoại lệ được kích hoạt. Mỗi “throw” phải bao gồm ít nhất một khối “catch”.
    • Catch : lấy ra một ngoại lệ và tạo ra một đối tượng chứa thông tin ngoại lệ.

Cú pháp

try 
{
    //Khối lệnh mà có thể phát sinh Exception
} 
catch (Exception $e) 
{    
    //Khối lệnh bắt được Exception
}

Ví dụ :


//tạo hàm và throw một ngoại lệ
function checkNum($number) {
  if($number > 1) {
    throw new Exception("Giá trị phải nhỏ hơn hoặc bằng 1.");
  }
  return true;
}
 
//kích hoạt ngoại lệ trong khối "try"
try {
  checkNum(2);
  // nếu ngoại lệ được ném ra thì lệnh sau không được thực thi
  echo 'Number nhỏ hơn hoặc bằng 1.';
} catch(Exception $e) { //catch exception
  echo 'Message: ' .$e->getMessage();
}
?>
  • Hàm checkNum() kiểm tra nếu một số lớn hơn 1. Nếu điều kiện đúng ngoại lệ được ném ra
  • Hàm checkNum() được gọi trong khối “try”
  • Ngoại lệ trong hàm checkNum() được ném ra
  • Khối “catch” lấy ra ngoại lệ và tạo ra một đối tượng ($e) chứa thông tin ngoại lệ
  • Thông báo lỗi từ ngoại lệ được lặp lại bằng cách gọi $ e-> getMessage() từ đối tượng ngoại lệ.

Trong ví dụ trên, hàm $e->getMessage được sử dụng để lấy error message. Dưới đây là một số hàm có thể được sử dụng từ lớp Exception trong PHP.

  • getMessage() : Hiển thị tin nhắn ngoại lệ
  • getCode() : Hiển thị các mã số là đại diện của các loại ngoại lệ.
  • getFile() : Hiển thị tên các tập tin và đường dẫn nơi xảy ra ngoại lệ.
  • getLine() : Hiển thị các dòng xảy ra ngoại lệ.
  • getTrace() : Hiển thị trả về thông tin truy vết lỗi là một mảng các tên file và số dòng
  • getPrevious() : Hiển thị các ngoại lệ trước khi xảy ra trường hợp hiện tại
  • getTraceAsString() : Hiển thị một loạt các dấu vết của ngoại lệ như một chuỗi thay vì một mảng
  • 
      function handleError($error_no, $error_msg)
      {
        echo "Opps, something went wrong:";
        echo "Error number: [$error_no]";
        echo "Error Description: [$error_msg]";
      }
      
       //thiết lập error handler
      set_error_handler("handleError");
      
      echo (5 / 0);
    ?>
    
    9 : Hiển thị toàn bộ ngoại lệ như một chuỗi.

2.1 Tạo một lớp ngoại lệ tùy chỉnh Nếu lớp Exception mặc định chưa đủ dùng cho bạn, bạn có thể tạo ra các Exeption riêng bằng cách kế thừa lớp Exception Nếu lớp Exception mặc định chưa đủ dùng cho bạn, bạn có thể tạo ra các Exeption riêng bằng cách kế thừa lớp Exception

  • Chú ý, chỉ có phương thức khởi tạo
    try 
    {
        //Khối lệnh mà có thể phát sinh Exception
    } 
    catch (Exception $e) 
    {    
        //Khối lệnh bắt được Exception
    }
    
    0 và
    try 
    {
        //Khối lệnh mà có thể phát sinh Exception
    } 
    catch (Exception $e) 
    {    
        //Khối lệnh bắt được Exception
    }
    
    1 của Exception có thể ghi đè trong lớp kế thừa, còn lại các phương thức khác không thể ghi đè vì nó được định nghĩa là final.

Ví dụ :

Hàm checkNum() kiểm tra nếu một số lớn hơn 1. Nếu điều kiện đúng ngoại lệ được ném ra

Hàm checkNum() được gọi trong khối “try”

  • Ngoại lệ trong hàm checkNum() được ném ra

Khối “catch” lấy ra ngoại lệ và tạo ra một đối tượng ($e) chứa thông tin ngoại lệ


class CustomException2 extends Exception {
  public function errorMessage() {
    //error message
    $errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile()
    .': '.$this->getMessage().' is not a valid E-Mail address.';
    return $errorMsg;
  }
}
 
$email = "[email protected]";
 
try {
  //check if
  if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) {
    //throw exception nếu email không hợp lệ
    throw new CustomException2($email);
  }
  //kiểm tra tồn tại chuỗi "example" trong địa chỉ email
  if(strpos($email, "example") !== FALSE) {
    throw new Exception("$email is an example e-mail.");
  }
} catch (CustomException2 $e) {
  echo $e->errorMessage();
} catch(Exception $e) {
  echo $e->getMessage();
}
?>

Thông báo lỗi từ ngoại lệ được lặp lại bằng cách gọi $ e-> getMessage() từ đối tượng ngoại lệ. Khi ứng dụng phát sinh ngoại lệ bằng lệnh throw, nếu ngoại lệ không bị bắt lại bằng khối lệnh try ... catch ... thì ngoại lệ đó sẽ chuyển cho hàm xử lý ngoại lệ mặc định của PHP. Giờ nếu bạn muốn tạo ra hàm mặc định này thì làm như sau: Tạo hàm riêng xử lý ngoại lệ có dạng function my_exception_handler($exception), sau đó dùng hàm set_exception_handler('my_exception_handler') để đăng ký với PHP

Khối “catch” lấy ra ngoại lệ và tạo ra một đối tượng ($e) chứa thông tin ngoại lệ


function handleUncaughtException($e){
    // Hiển thị thông báo lỗi chung cho người dùng
    echo "Opps! Có lỗi xảy ra. Hãy thử lại hoặc liên hệ với chúng tôi nếu còn lỗi.";
    
    // Lấy thông tin lỗi
    $error = "Uncaught Exception: " . $message = date("Y-m-d H:i:s - ");
    $error .= $e->getMessage() . " trong file " . $e->getFile() . " ở dòng " . $e->getLine() . "\n";
}
 
// Đăng ký xử lý ngoại lệ tùy chỉnh
set_exception_handler("handleUncaughtException");
 
// Ném ra một ngoại lệ
throw new Exception("Kiểm tra ngoại lệ!");
?>

Thông báo lỗi từ ngoại lệ được lặp lại bằng cách gọi $ e-> getMessage() từ đối tượng ngoại lệ.

Trong ví dụ trên, hàm $e->getMessage được sử dụng để lấy error message. Dưới đây là một số hàm có thể được sử dụng từ lớp Exception trong PHP.

getMessage() : Hiển thị tin nhắn ngoại lệ

  • https://www.php.net/
  • https://vietjack.com/
  • https://laptrinhvienphp.com/