safely do
# keep going if this code fails
end
Pengecualian diselamatkan dan secara otomatis dilaporkan ke layanan pelaporan favorit Anda.
Dalam lingkungan pengembangan dan pengujian, pengecualian dinaikkan sehingga Anda dapat memperbaikinya.
Baca selengkapnya
Tambahkan baris ini ke gemfile aplikasi Anda:
gem "safely_block"
“Oh tidak, analitik menurunkan pencarian”
safely { track_search ( params ) }
“Rekomendasi berhenti memperbarui karena satu pengguna yang buruk”
users . each do | user |
safely ( context : { user_id : user . id } ) { update_recommendations ( user ) }
end
Juga alias sebagai yolo
Lulus konteks ekstra untuk dilaporkan dengan pengecualian
safely context : { user_id : 123 } do
# code
end
Tentukan nilai default untuk mengembalikan pengecualian
show_banner = safely ( default : true ) { show_banner_logic }
Meningkatkan pengecualian tertentu
safely except : ActiveRecord :: RecordNotUnique do
# all other exceptions will be rescued
end
Lulus array untuk beberapa kelas pengecualian.
Hanya menyelamatkan pengecualian khusus
safely only : ActiveRecord :: RecordNotUnique do
# all other exceptions will be raised
end
Kecuali Keheningan
safely silence : ActiveRecord :: RecordNotUnique do
# code
end
Pelaporan throttle dengan:
safely throttle : { limit : 10 , period : 1 . minute } do
# reports only first 10 exceptions each minute
end
Catatan: Batas throttle adalah perkiraan dan per proses.
Melaporkan pengecualian untuk berbagai layanan di luar kotak.
Catatan: Konteks tidak didukung dengan Google Stackdriver dan Scout APM
Kustomisasi pelaporan dengan:
Safely . report_exception_method = -> ( e ) { Rollbar . error ( e ) }
Dengan rel, Anda dapat menambahkan ini di inisialisasi.
Secara default, pesan pengecualian diawali dengan [safely]
. Ini membuatnya lebih mudah untuk melihat pengecualian yang diselamatkan. Matikan ini dengan:
Safely . tag = false
Untuk melaporkan pengecualian secara manual:
Safely . report_exception ( e )
Untuk melindungi privasi pengguna Anda, jangan kirim data pribadi ke layanan pengecualian. Bidang Formulir Sensitif Filter, Gunakan ID (bukan alamat email) untuk mengidentifikasi pengguna, dan mask alamat IP.
Dengan Rollbar, Anda dapat melakukannya:
Rollbar . configure do | config |
config . person_id_method = "id" # default
config . scrub_fields |= [ :birthday ]
config . anonymize_user_ip = true
end
Saat mengerjakan pengecualian, waspadai data pribadi dan benar sesuai kebutuhan.
Lihat Changelog
Setiap orang didorong untuk membantu meningkatkan proyek ini. Berikut beberapa cara Anda dapat membantu:
Untuk memulai dengan pengembangan dan pengujian:
git clone https://github.com/ankane/safely.git
cd safely
bundle install
bundle exec rake test