Trình xử lý lỗi tương tự này được sử dụng để bắt ngoại lệ . Trình xử lý lỗi hiển thị lỗi khi gỡ lỗi là đúng và nhật ký lỗi khi gỡ lỗi là sai. PHP có số lượng các lớp ngoại lệ và việc xử lý ngoại lệ được xây dựng trong sẽ nắm bắt bất kỳ ngoại lệ chưa được thực hiện nào và hiển thị một trang hữu ích.
Cấu hình lỗi và ngoại lệ
Lỗi và ngoại lệ có thể được cấu hình trong tập tin cấu hình \ app.php . Xử lý lỗi chấp nhận một vài tùy chọn cho phép bạn điều chỉnh xử lý lỗi cho ứng dụng của mình.| Tùy chọn | Loại dữ liệu | Sự miêu tả |
|---|---|---|
| errorLevel | int | Mức độ lỗi bạn quan tâm trong việc chụp.Sử dụng hằng số lỗi dựng sẵn của php và bitmask để chọn mức độ lỗi mà bạn quan tâm. |
| dấu vết | bool | Bao gồm dấu vết ngăn xếp cho các lỗi trong tệp nhật ký. Dấu vết ngăn xếp sẽ được bao gồm trong nhật ký sau mỗi lỗi.Điều này rất hữu ích cho việc tìm nơi / khi lỗi được nâng lên. |
| exceptionRenderer | chuỗi | Lớp chịu trách nhiệm cho việc hiển thị các ngoại lệ chưa được nắm bắt. Nếu bạn chọn một lớp tùy chỉnh , bạn nên đặt tệp cho lớp đó trong src / Error . Lớp này cần triển khai thực hiện phương thức render () . |
| nhật ký | bool | Khi đúng, ngoại lệ + dấu vết ngăn xếp của chúng sẽ được ghi vào Cake \ Log \ Log . |
| skipLog | mảng | Một mảng các tên lớp ngoại lệ không nên được ghi lại. Điều này rất hữu ích để loại bỏ NotFoundExceptions hoặc các thông điệp nhật ký phổ biến nhưng không thú vị khác. |
| extraFatalErrorMemory | int | Đặt số lượng megabyte để tăng giới hạn bộ nhớ khi gặp lỗi nghiêm trọng. Điều này cho phép phòng thở hoàn thành việc ghi nhật ký hoặc xử lý lỗi. |
Thí dụ
Thực hiện các thay đổi trong tệp config / routes.php như trong đoạn mã sau.config / routes.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes) { $routes->connect('/exception/:arg1/:arg2',[ 'controller'=>'Exps','action'=>'index'],['pass' => ['arg1', 'arg2']]); $routes->fallbacks('DashedRoute'); }); Plugin::routes();Tạo tập tin ExpsController.php tại src / Controller / ExpsController.php. Sao chép mã sau trong tệp bộ điều khiển.
==> Phần mềm lập trình PHP chuyên nghiệp.
src / Controller / ExpsController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Core\Exception\Exception; class ExpsController extends AppController{ public function index($arg1,$arg2){ try{ $this->set('argument1',$arg1); $this->set('argument2',$arg2); if(($arg1 < 1 || $arg1 > 10) || ($arg2 < 1 || $arg2 > 10)) throw new Exception("One of the number is out of range[1-10]."); }catch(\Exception $ex){ echo $ex->getMessage(); } } } ?>Tạo một thư mục Exps tại src / Template và dưới thư mục đó tạo một tập tin View được gọi là index.ctp . Sao chép mã sau vào tệp đó.
src / Mẫu / Exps / index.ctp
This is CakePHP tutorial and this is an example of Passed arguments.
Argument-1: <?=$argument1?>
Argument-2: <?=$argument2?>
Thực hiện ví dụ trên bằng cách truy cập URL sau.http: // localhost: 85 / PHP / exception / 5/0
Đầu ra
Khi thực hiện, bạn sẽ nhận được kết quả sau.![]() |
| Phần mềm lập trình PHP chuyên nghiệp |

Không có nhận xét nào:
Đăng nhận xét