• Contact Us
Tuesday, December 20, 2022
-18 °c
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Plugin Install : Cart Icon need WooCommerce plugin to be installed.
Teman Ngoding
No Result
View All Result

Error Handling Codeigniter 4

admin by admin
August 24, 2022
in Codeigniter, Tutorial
0 0
0
Home Tutorial Codeigniter

This post is also available in: English

Hallo apa kabar teman semuanya, semoga sehat dan sukses selalu. Kali ini kita masih membahas Error hanling, tapi kali ini kita membahas Error hendling pada Codeigniter 4.

Ketika kita membuat aplikasi sering kali kita menemukan beberapa masalah seperti error yang sering terjadi. Itu sangat mengganggu bagi pengguna aplikasi. Codeigniter juga mempunyai cara untuk menangani permasalahan ketika terjadi error.

Error Handling sangat bermanaaf ketika kalian mengembangkan sautu aplikasi. Ini akan mempermudah cara menangani sautu error.

Ikutilah langkah-langkah di bawah ini:

  1. Konfigurasi Error Handling
  2. Menggunakan Exceptions
  3. Menggunakan PageNotFoundException

Baca juga tutorial yang lainnya:

Membuat Sitemap Otomatis Codeigniter 4

Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

Konfigurasi Error Handling

Secara default, CodeIgniter akan menampilkan semua kesalahan di lingkungan pengembangan dan pengujian, dan tidak akan menampilkan kesalahan apa pun di lingkungan produksi. Anda dapat mengubahnya dengan mengatur variabel CI_ENVIRONMENT di file .env.

Lingkungan yang berbeda akan memerlukan tingkat pelaporan kesalahan yang berbeda. Secara default, mode pengembangan akan menampilkan kesalahan dan pengujian dan mode langsung akan menyembunyikannya. CodeIgniter menyediakan tiga fungsi seperti yang ditunjukkan di bawah ini untuk menangani kesalahan.

show_error()

Fungsi ini biasanya di gunakan pda format HTML.

  • $message (mixed) − Error message
  • $status_code (int) − HTTP Response status code
  • $heading (string) − Error page heading

show_404() 

Fungsi ini digunakan ketika mengakses halaman tidak ada.

  • $page (string) – URI string
  • $log_error (bool) – Whether to log the error

log_message()

Fungsi ini berguna untuk mengirimpan pesan berupa pesan log.

  • $level (string) − Log level: ‘error’, ‘debug’ or ‘info’
  • $message (string) − Message to log
  • $php_error (bool) − Whether we’re logging a native PHP error message

Logging dapat di aktifkan di file  app/Config/Exceptions.php.

<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;

/**
 * Setup how the exception handler works.
 */
class Exceptions extends BaseConfig
{
    /**
     * --------------------------------------------------------------------------
     * LOG EXCEPTIONS?
     * --------------------------------------------------------------------------
     * If true, then exceptions will be logged
     * through Services::Log.
     *
     * Default: true
     *
     * @var bool
     */
    public $log = true;

    /**
     * --------------------------------------------------------------------------
     * DO NOT LOG STATUS CODES
     * --------------------------------------------------------------------------
     * Any status codes here will NOT be logged if logging is turned on.
     * By default, only 404 (Page Not Found) exceptions are ignored.
     *
     * @var array
     */
    public $ignoreCodes = [404];

    /**
     * --------------------------------------------------------------------------
     * Error Views Path
     * --------------------------------------------------------------------------
     * This is the path to the directory that contains the 'cli' and 'html'
     * directories that hold the views used to generate errors.
     *
     * Default: APPPATH.'Views/errors'
     *
     * @var string
     */
    public $errorViewPath = APPPATH . 'Views/errors';

    /**
     * --------------------------------------------------------------------------
     * HIDE FROM DEBUG TRACE
     * --------------------------------------------------------------------------
     * Any data that you would like to hide from the debug trace.
     * In order to specify 2 levels, use "/" to separate.
     * ex. ['server', 'setup/password', 'secret_token']
     *
     * @var array
     */
    public $sensitiveDataInTrace = [];
}

Anda dapat menemukan pesan log di application/log/. Pastikan bahwa direktori ini dapat ditulis sebelum Anda mengaktifkan file log.

Berbagai template untuk pesan kesalahan dapat ditemukan di application/views/errors/cli atau application/views/errors/html.

Menggunakan Exceptions

Exceptions digunakan untuk memberikan pilihan kepada pegembang aplikasi ketika code yang di buat terjadi error.

<?php

throw new \Exception('Some message goes here');

Kalian dapat menggunakan try/catch pada exception:

<?php

try {
    $user = $userModel->find($id);
} catch (\Exception $e) {
    exit($e->getMessage());
}

Di sini saya berikan contohnya kepada kalian:

<?php namespace App\Controllers;
use App\Models\PostModel;
use App\Models\PostCategoryModel;
class Post extends BaseController
{
	public function create()
	{
		$post = new PostModel();
		$post->db->transBegin();
		try {
			$post->insert([
				'title'=>$this->request->getPost('title'),
				'content'=>$this->request->getPost('content')
			]);

			$post_id = $post->insertID();

			$postLog = $this->TransLog($this->request->getPost());
			if($postLog===false){
				throw new Exception();
			}
			$postCategory = new PostCategoryModel();
			$postCategory->insert([
				'post_id'=>$post_id,
				'category_id'=>$this->request->getPost('category_id')
			]);

			$post->db->transCommit();
		} catch (\Exception $e) {
			$post->db->transRollback();
		}
	}
}

Kode diatas menggunakan try catch agar ketika $postLog mengembalikan nilai false.Pergi ke catch dan melakukan rollback.

Menggunakan PageNotFoundException

Ini digunakan untuk kesalahan 404, Halaman Tidak Ditemukan. Saat dilempar, sistem akan menampilkan tampilan yang ditemukan di app/Views/errors/html/error_404.php. Anda harus menyesuaikan semua tampilan kesalahan untuk situs Anda. Jika, di app/Config/Routes.php, Anda telah menetapkan 404 Override, yang akan dipanggil sebagai ganti halaman 404 standar:

<?php

if (! $page = $pageModel->find($id)) {
    throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound();
}

Anda dapat meneruskan pesan ke pengecualian yang akan ditampilkan sebagai pengganti pesan default pada halaman 404.

Itulah Error Handling Codeigniter 4 yang sering digunakan oleh para pengembang aplikasi menggunakan Codeigniter 4.

Demikian tutorial kali ini yang bisa saya berikan, semoga bermanfaat.

Terimakasih.

source : https://www.codeigniter.com/user_guide/general/errors.html

Tags: codeigniter4Error Handling
ShareTweetShare
admin

admin

Next Post
Tutorial Flutter Part 1 : Apa itu Flutter?

Tutorial Flutter Part 1 : Apa itu Flutter?

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Trending
  • Comments
  • Latest
Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

June 2, 2022
Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

June 8, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

May 30, 2022
REST API Login dan Register Node.js dengan JWT

REST API Login dan Register Node.js dengan JWT

July 28, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

5
Rekomendasi tempat belajar pemrograman

Rekomendasi tempat belajar pemrograman

3
Menghilangkan Public dan Index.php dari URL Codeigniter 4

Menghilangkan Public dan Index.php dari URL Codeigniter 4

2
Membuat Sitemap Otomatis Codeigniter 4

Membuat Sitemap Otomatis Codeigniter 4

1
Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022
WEB CRUD LocalStorage Menggunakan JavaScript

WEB CRUD LocalStorage Menggunakan JavaScript

September 22, 2022
DOM dan GOM Javascript

Perbedaan BOM Dan DOM Pada JavaScript

September 20, 2022
Teman Ngoding

Teman Ngoding tempat berbagi tutorial pemrograman
Read more

Categories

  • Berita
  • C++
  • Codeigniter
  • Events
  • Flutter
  • Golang
  • Java
  • Javascript
  • Laravel
  • MongoDB
  • News
  • Node JS
  • Pemrograman
  • PHP
  • Problem Solution
  • React JS
  • SQL
  • Tutorial
  • TypeScript
  • TypeScript
  • Video Codeigniter
  • Video Git
  • Video Laravel
  • Video Tutorial

Tags

ajax belajar golang belajar reactjs blog browser seluler Cara mendapatkan Uang dari Blog codeigniter codeigniter 3 codeigniter 4 codeigniter4 embed html Error Handling flutter flutter vs react native golang golang dasar html infinite scroll javascript javascript tutorial laravel laravel 8 laravel9 laravel 9 load more ajax Menggunakan Multiple select2 dan menyimpan dengan format json mongodb nodejs pdf pemrograman ajax pemrograman golang pemrograman php reactjs reactjs tutorial reactjs vs react native rest api rest api codeigniter 4 tutorial codeigniter 4 tutorial golang tutorial javascript tutorial laravel tutorial laravel 8 tutorial nodejs tutorial reactjs uang dari blog

Recent News

Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022

© 2022 Teman Ngoding.

No Result
View All Result
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English

© 2022 Teman Ngoding.

Login to your account below

Forgotten Password?

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
  • English
  • Indonesia